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 telemetry.core import camel_case 8 9 10class CamelCaseTest(unittest.TestCase): 11 def testString(self): 12 self.assertEqual(camel_case.ToUnderscore('camelCase'), 'camel_case') 13 self.assertEqual(camel_case.ToUnderscore('CamelCase'), 'camel_case') 14 self.assertEqual(camel_case.ToUnderscore('Camel2Case'), 'camel2_case') 15 self.assertEqual(camel_case.ToUnderscore('Camel2Case2'), 'camel2_case2') 16 self.assertEqual(camel_case.ToUnderscore('2012Q3'), '2012_q3') 17 18 def testList(self): 19 camel_case_list = ['CamelCase', ['NestedList']] 20 underscore_list = ['camel_case', ['nested_list']] 21 self.assertEqual(camel_case.ToUnderscore(camel_case_list), underscore_list) 22 23 def testDict(self): 24 camel_case_dict = { 25 'gpu': { 26 'vendorId': 1000, 27 'deviceId': 2000, 28 'vendorString': 'aString', 29 'deviceString': 'bString' }, 30 'secondaryGpus': [ 31 { 'vendorId': 3000, 'deviceId': 4000, 32 'vendorString': 'k', 'deviceString': 'l' } 33 ] 34 } 35 underscore_dict = { 36 'gpu': { 37 'vendor_id': 1000, 38 'device_id': 2000, 39 'vendor_string': 'aString', 40 'device_string': 'bString' }, 41 'secondary_gpus': [ 42 { 'vendor_id': 3000, 'device_id': 4000, 43 'vendor_string': 'k', 'device_string': 'l' } 44 ] 45 } 46 self.assertEqual(camel_case.ToUnderscore(camel_case_dict), underscore_dict) 47 48 def testOther(self): 49 self.assertEqual(camel_case.ToUnderscore(self), self) 50