示例#1
0
 def test__bool__with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     self.assertTrue(b)
     self.assertTrue(bool(b))
     self.assertEqual(b, b.dict())
     b = BaseDict({})
     self.assertFalse(b)
     self.assertFalse(bool(b))
     self.assertEqual(b, b.dict())
示例#2
0
 def test__bool__(self):
     b = BaseDict()
     self.assertFalse(b)
     self.assertFalse(bool(b))
     self.assertEqual(b, b.dict())
     b = BaseDict()
     b['a'] = 1
     self.assertTrue(b)
     self.assertTrue(bool(b))
     self.assertEqual(b, b.dict())
示例#3
0
 def test_keys_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     k = list(b.keys())
     k.sort()
     self.assertTrue(k, ['a', 'b', 'c'])
     self.assertEqual(b, b.dict())
示例#4
0
 def test_values_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     v = list(b.values())
     v.sort()
     self.assertTrue(v, [1, 2, 3])
     self.assertEqual(b, b.dict())
示例#5
0
 def test_get(self):
     b = BaseDict()
     b['a'] = 1
     self.assertEqual(b.get('a'), 1)
     self.assertEqual(b.get('b'), None)
     self.assertEqual(b.get('b', 2), 2)
     self.assertEqual(b, b.dict())
示例#6
0
 def test__setitem__with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     b['a'] = 2
     self.assertEqual(b['a'], 2)
     self.assertEqual(d['a'], 2)
     self.assertEqual(b, b.dict())
示例#7
0
 def test__equal__(self):
     b = BaseDict()
     o1 = {}
     o2 = {'a': 2}
     self.assertTrue(b == o1)
     self.assertFalse(b == o2)
     self.assertEqual(b, b.dict())
示例#8
0
 def test__equal__with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     o1 = {'a': 1}
     o2 = {'a': 2}
     self.assertTrue(b == o1)
     self.assertFalse(b == o2)
     self.assertEqual(b, b.dict())
示例#9
0
 def test_update(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     b.update({'d': 4, 'e': 5})
     self.assertEqual(b, {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5})
     self.assertEqual(b, b.dict())
示例#10
0
 def test_update_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     b.update({'d': 4, 'e': 5})
     self.assertEqual(d, {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5})
     d['a'] = -1
     self.assertTrue(b == d)
     self.assertEqual(b, b.dict())
示例#11
0
 def test_clear_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     b.clear()
     self.assertTrue(b == {})
     self.assertTrue(d == {})
     self.assertTrue(b == d)
     self.assertEqual(b, b.dict())
示例#12
0
 def test__contains__with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     self.assertTrue('a' in b)
     self.assertFalse('b' in b)
     self.assertEqual(b, b.dict())
     del d['a']
     self.assertFalse('a' in b)
示例#13
0
 def test__len__with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     self.assertEqual(len(b), 3)
     self.assertEqual(len(d), 3)
     b['d'] = 4
     self.assertEqual(len(b), 4)
     self.assertEqual(len(d), 4)
     self.assertEqual(b, b.dict())
示例#14
0
 def test_keys(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     k = list(b.keys())
     k.sort()
     self.assertTrue(k, ['a', 'b', 'c'])
     self.assertEqual(b, b.dict())
示例#15
0
 def test__delitem__with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     self.assertTrue('a' in b)
     del b['a']
     self.assertFalse('a' in b)
     with self.assertRaises(KeyError):
         del b['a']
     self.assertEqual(b, b.dict())
示例#16
0
 def test_get_with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     self.assertEqual(b.get('a'), 1)
     d['a'] = 2
     self.assertEqual(b.get('a'), 2)
     self.assertEqual(b.get('b'), None)
     self.assertEqual(b.get('b', 2), 2)
     self.assertEqual(b, b.dict())
示例#17
0
 def test_values(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     v = list(b.values())
     v.sort()
     self.assertTrue(v, [1, 2, 3])
     self.assertEqual(b, b.dict())
 def test_setdefault(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     v = b.setdefault('c', 4)
     self.assertEqual(v, 3)
     v = b.setdefault('d', 4)
     self.assertEqual(v, 4)
     self.assertEqual(b, b.dict())
示例#19
0
 def test_setdefault(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     v = b.setdefault('c', 4)
     self.assertEqual(v, 3)
     v = b.setdefault('d', 4)
     self.assertEqual(v, 4)
     self.assertEqual(d, {'a': 1, 'b': 2, 'c': 3, 'd': 4})
     self.assertTrue(b == d)
     self.assertEqual(b, b.dict())
示例#20
0
 def test_copy_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     c = b.copy()
     c['a'] = -1
     c['b'] = -2
     c['c'] = -3
     self.assertTrue(b == d)
     self.assertFalse(b == c)
     # self.assertTrue(type(b) == type(c))
     self.assertEqual(b, b.dict())
示例#21
0
 def test_copy(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     c = b.copy()
     c['a'] = -1
     c['b'] = -2
     c['c'] = -3
     self.assertFalse(b == c)
     # self.assertTrue(type(b) == type(c))
     self.assertEqual(b, b.dict())
示例#22
0
 def test_pop_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     v = b.pop('c')
     self.assertEqual(v, 3)
     with self.assertRaises(KeyError):
         v = b.pop('d')
     v = b.pop('e', 5)
     self.assertEqual(v, 5)
     self.assertEqual(d, {'a': 1, 'b': 2})
     self.assertTrue(b == d)
     self.assertEqual(b, b.dict())
示例#23
0
 def test_pop(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     v = b.pop('c')
     self.assertEqual(v, 3)
     with self.assertRaises(KeyError):
         v = b.pop('d')
     v = b.pop('e', 5)
     self.assertEqual(v, 5)
     self.assertEqual(b, b.dict())
示例#24
0
 def test_items_with_pointer(self):
     d = {'a': 1, 'b': 2, 'c': 3}
     b = BaseDict(d)
     i = list(b.items())
     i.sort()
     self.assertTrue(i, [(
         'a',
         1,
     ), (
         'b',
         2,
     ), (
         'c',
         3,
     )])
     self.assertEqual(b, b.dict())
示例#25
0
 def test_dict_pointer(self):
     d = {
         'a': 1,
         'b': 2,
         'c': {
             'd': 3,
             'e': {
                 'f': 4,
             }
         }
     }
     b = BaseDict(d)
     b['a'] = -1
     b['b'] = -2
     b['c']['d'] = -3
     b['c']['e']['f'] = -4
     self.assertEqual(d, b)
     self.assertEqual(b, b.dict())
示例#26
0
 def test_items(self):
     b = BaseDict()
     b['a'] = 1
     b['b'] = 2
     b['c'] = 3
     i = list(b.items())
     i.sort()
     self.assertTrue(i, [(
         'a',
         1,
     ), (
         'b',
         2,
     ), (
         'c',
         3,
     )])
     self.assertEqual(b, b.dict())
示例#27
0
 def test__iter__(self):
     b = BaseDict()
     i = iter(b)
     self.assertTrue(isinstance(i, Iterable))
     self.assertEqual(b, b.dict())
示例#28
0
 def test__getitem__with_pointer(self):
     d = {'a': 1}
     b = BaseDict(d)
     self.assertEqual(b['a'], 1)
     self.assertEqual(b, b.dict())
示例#29
0
 def test__getitem__(self):
     b = BaseDict()
     with self.assertRaises(KeyError):
         b['a']
     self.assertEqual(b, b.dict())
示例#30
0
 def test__contains__(self):
     b = BaseDict()
     b['a'] = 1
     self.assertTrue('a' in b)
     self.assertFalse('b' in b)
     self.assertEqual(b, b.dict())