xref: /aosp_15_r20/external/emboss/compiler/util/name_conversion_test.py (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees# Copyright 2019 Google LLC
2*99e0aae7SDavid Rees#
3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License");
4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License.
5*99e0aae7SDavid Rees# You may obtain a copy of the License at
6*99e0aae7SDavid Rees#
7*99e0aae7SDavid Rees#     https://www.apache.org/licenses/LICENSE-2.0
8*99e0aae7SDavid Rees#
9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software
10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS,
11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and
13*99e0aae7SDavid Rees# limitations under the License.
14*99e0aae7SDavid Rees
15*99e0aae7SDavid Rees"""Tests for util.name_conversion."""
16*99e0aae7SDavid Rees
17*99e0aae7SDavid Reesimport unittest
18*99e0aae7SDavid Reesfrom compiler.util import name_conversion
19*99e0aae7SDavid Rees
20*99e0aae7SDavid Rees
21*99e0aae7SDavid Reesclass NameConversionTest(unittest.TestCase):
22*99e0aae7SDavid Rees
23*99e0aae7SDavid Rees  def test_snake_to_camel(self):
24*99e0aae7SDavid Rees    self.assertEqual("", name_conversion.snake_to_camel(""))
25*99e0aae7SDavid Rees    self.assertEqual("Abc", name_conversion.snake_to_camel("abc"))
26*99e0aae7SDavid Rees    self.assertEqual("AbcDef", name_conversion.snake_to_camel("abc_def"))
27*99e0aae7SDavid Rees    self.assertEqual("AbcDef89", name_conversion.snake_to_camel("abc_def89"))
28*99e0aae7SDavid Rees    self.assertEqual("AbcDef89", name_conversion.snake_to_camel("abc_def_89"))
29*99e0aae7SDavid Rees    self.assertEqual("Abc89Def", name_conversion.snake_to_camel("abc_89_def"))
30*99e0aae7SDavid Rees    self.assertEqual("Abc89def", name_conversion.snake_to_camel("abc_89def"))
31*99e0aae7SDavid Rees
32*99e0aae7SDavid Rees  def test_shouty_to_camel(self):
33*99e0aae7SDavid Rees    self.assertEqual("Abc", name_conversion.snake_to_camel("ABC"))
34*99e0aae7SDavid Rees    self.assertEqual("AbcDef", name_conversion.snake_to_camel("ABC_DEF"))
35*99e0aae7SDavid Rees    self.assertEqual("AbcDef89", name_conversion.snake_to_camel("ABC_DEF89"))
36*99e0aae7SDavid Rees    self.assertEqual("AbcDef89", name_conversion.snake_to_camel("ABC_DEF_89"))
37*99e0aae7SDavid Rees    self.assertEqual("Abc89Def", name_conversion.snake_to_camel("ABC_89_DEF"))
38*99e0aae7SDavid Rees    self.assertEqual("Abc89def", name_conversion.snake_to_camel("ABC_89DEF"))
39*99e0aae7SDavid Rees
40*99e0aae7SDavid Rees  def test_camel_to_k_camel(self):
41*99e0aae7SDavid Rees    self.assertEqual("kFoo", name_conversion.camel_to_k_camel("Foo"))
42*99e0aae7SDavid Rees    self.assertEqual("kFooBar", name_conversion.camel_to_k_camel("FooBar"))
43*99e0aae7SDavid Rees    self.assertEqual("kAbc123", name_conversion.camel_to_k_camel("Abc123"))
44*99e0aae7SDavid Rees
45*99e0aae7SDavid Rees  def test_snake_to_k_camel(self):
46*99e0aae7SDavid Rees    self.assertEqual("kAbc", name_conversion.snake_to_k_camel("abc"))
47*99e0aae7SDavid Rees    self.assertEqual("kAbcDef", name_conversion.snake_to_k_camel("abc_def"))
48*99e0aae7SDavid Rees    self.assertEqual("kAbcDef89",
49*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("abc_def89"))
50*99e0aae7SDavid Rees    self.assertEqual("kAbcDef89",
51*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("abc_def_89"))
52*99e0aae7SDavid Rees    self.assertEqual("kAbc89Def",
53*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("abc_89_def"))
54*99e0aae7SDavid Rees    self.assertEqual("kAbc89def",
55*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("abc_89def"))
56*99e0aae7SDavid Rees
57*99e0aae7SDavid Rees  def test_shouty_to_k_camel(self):
58*99e0aae7SDavid Rees    self.assertEqual("kAbc", name_conversion.snake_to_k_camel("ABC"))
59*99e0aae7SDavid Rees    self.assertEqual("kAbcDef", name_conversion.snake_to_k_camel("ABC_DEF"))
60*99e0aae7SDavid Rees    self.assertEqual("kAbcDef89",
61*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("ABC_DEF89"))
62*99e0aae7SDavid Rees    self.assertEqual("kAbcDef89",
63*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("ABC_DEF_89"))
64*99e0aae7SDavid Rees    self.assertEqual("kAbc89Def",
65*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("ABC_89_DEF"))
66*99e0aae7SDavid Rees    self.assertEqual("kAbc89def",
67*99e0aae7SDavid Rees                     name_conversion.snake_to_k_camel("ABC_89DEF"))
68*99e0aae7SDavid Rees
69*99e0aae7SDavid Rees  def test_convert_case(self):
70*99e0aae7SDavid Rees    self.assertEqual("foo_bar_123", name_conversion.convert_case(
71*99e0aae7SDavid Rees      "snake_case", "snake_case", "foo_bar_123"))
72*99e0aae7SDavid Rees    self.assertEqual("FOO_BAR_123", name_conversion.convert_case(
73*99e0aae7SDavid Rees      "SHOUTY_CASE", "SHOUTY_CASE", "FOO_BAR_123"))
74*99e0aae7SDavid Rees    self.assertEqual("kFooBar123", name_conversion.convert_case(
75*99e0aae7SDavid Rees      "kCamelCase", "kCamelCase", "kFooBar123"))
76*99e0aae7SDavid Rees    self.assertEqual("FooBar123", name_conversion.convert_case(
77*99e0aae7SDavid Rees      "CamelCase", "CamelCase", "FooBar123"))
78*99e0aae7SDavid Rees    self.assertEqual("kAbcDef", name_conversion.convert_case(
79*99e0aae7SDavid Rees      "snake_case", "kCamelCase", "abc_def"))
80*99e0aae7SDavid Rees    self.assertEqual("AbcDef", name_conversion.convert_case(
81*99e0aae7SDavid Rees      "snake_case", "CamelCase", "abc_def"))
82*99e0aae7SDavid Rees    self.assertEqual("kAbcDef", name_conversion.convert_case(
83*99e0aae7SDavid Rees      "SHOUTY_CASE", "kCamelCase", "ABC_DEF"))
84*99e0aae7SDavid Rees    self.assertEqual("AbcDef", name_conversion.convert_case(
85*99e0aae7SDavid Rees      "SHOUTY_CASE", "CamelCase", "ABC_DEF"))
86*99e0aae7SDavid Rees
87*99e0aae7SDavid Rees
88*99e0aae7SDavid Reesif __name__ == "__main__":
89*99e0aae7SDavid Rees  unittest.main()
90