def test_lists(self): d = { 'kwargs': [ { '__fixed__': '0.1234' }, { '__fixed__': '0.1235' }, { '__fixed__': '0.1236' }, { '__fixed__': '0.1237' }, { '__fixed__': '0.1238' }, ] } expected = { 'kwargs': [ ContractingDecimal('0.1234'), ContractingDecimal('0.1235'), ContractingDecimal('0.1236'), ContractingDecimal('0.1237'), ContractingDecimal('0.1238'), ] } d2 = convert_dict(d) self.assertEqual(expected, d2)
def test_nested_dictionaries(self): d = { 'kwargs': { '__fixed__': '0.1234' }, 'thing': { 'thing2': { "__time__": [2021, 4, 29, 21, 30, 54, 0] }, } } expected = { 'kwargs': ContractingDecimal('0.1234'), 'thing': { 'thing2': Datetime(2021, 4, 29, 21, 30, 54, 0), } } d2 = convert_dict(d) self.assertEqual(expected, d2)
def test_multiple_conversions(self): d = { 'kwargs': { '__fixed__': '0.1234' }, 'kwargs2': { "__time__": [2021, 4, 29, 21, 30, 54, 0] }, 'kwargs3': { "__delta__": [8, 0] }, 'kwargs4': { "__bytes__": "123456" } } expected = { 'kwargs': ContractingDecimal('0.1234'), 'kwargs2': Datetime(2021, 4, 29, 21, 30, 54, 0), 'kwargs3': Timedelta(days=8, seconds=0), 'kwargs4': b'\x124V', } self.assertEqual(expected, convert_dict(d))
def test_convert_contracting_bytes(self): d = {'kwargs': {"__bytes__": "123456"}} expected = {'kwargs': b'\x124V'} self.assertEqual(expected, convert_dict(d))
def test_convert_contracting_timedelta(self): d = {'kwargs': {"__delta__": [8, 0]}} expected = {'kwargs': Timedelta(days=8, seconds=0)} self.assertEqual(expected, convert_dict(d))
def test_convert_contracting_datetime(self): d = {'kwargs': {"__time__": [2021, 4, 29, 21, 30, 54, 0]}} expected = {'kwargs': Datetime(2021, 4, 29, 21, 30, 54, 0)} self.assertEqual(expected, convert_dict(d))
def test_convert_contracting_decimal(self): d = {'kwargs': {'__fixed__': '0.1234'}} expected = {'kwargs': ContractingDecimal('0.1234')} self.assertEqual(expected, convert_dict(d))
def test_convert_bigint(self): d = {'bigint': {'__big_int__': str(2**65)}} expected = {'bigint': 2**65} self.assertDictEqual(convert_dict(d), expected)
def test_convert_returns_normal_dict(self): d = {1: 2, "a": "b"} d2 = convert_dict(d) self.assertEqual(d, d2)