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