1# Copyright 2013 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import unittest 6 7from py_utils import camel_case 8 9 10class CamelCaseTest(unittest.TestCase): 11 12 def testString(self): 13 self.assertEqual(camel_case.ToUnderscore('camelCase'), 'camel_case') 14 self.assertEqual(camel_case.ToUnderscore('CamelCase'), 'camel_case') 15 self.assertEqual(camel_case.ToUnderscore('Camel2Case'), 'camel2_case') 16 self.assertEqual(camel_case.ToUnderscore('Camel2Case2'), 'camel2_case2') 17 self.assertEqual(camel_case.ToUnderscore('2012Q3'), '2012_q3') 18 19 def testList(self): 20 camel_case_list = ['CamelCase', ['NestedList']] 21 underscore_list = ['camel_case', ['nested_list']] 22 self.assertEqual(camel_case.ToUnderscore(camel_case_list), underscore_list) 23 24 def testDict(self): 25 camel_case_dict = { 26 'gpu': { 27 'vendorId': 1000, 28 'deviceId': 2000, 29 'vendorString': 'aString', 30 'deviceString': 'bString'}, 31 'secondaryGpus': [ 32 {'vendorId': 3000, 'deviceId': 4000, 33 'vendorString': 'k', 'deviceString': 'l'} 34 ] 35 } 36 underscore_dict = { 37 'gpu': { 38 'vendor_id': 1000, 39 'device_id': 2000, 40 'vendor_string': 'aString', 41 'device_string': 'bString'}, 42 'secondary_gpus': [ 43 {'vendor_id': 3000, 'device_id': 4000, 44 'vendor_string': 'k', 'device_string': 'l'} 45 ] 46 } 47 self.assertEqual(camel_case.ToUnderscore(camel_case_dict), underscore_dict) 48 49 def testOther(self): 50 self.assertEqual(camel_case.ToUnderscore(self), self) 51