def test_clear(self): d = {'a': 1, 'b': 2, 'c': 3} b = BaseDict(d) b.clear() self.assertTrue(b == {}) self.assertTrue(d == {}) self.assertTrue(b == d)
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())
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())
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())
def test__equal__(self): b = BaseDict() o1 = {} o2 = {'a': 2} self.assertTrue(b == o1) self.assertFalse(b == o2) self.assertEqual(b, b.dict())
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())
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)
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())
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())
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())
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())
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())
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())
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): 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)
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())
def test_copy(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)
def test_clear(self): d = {'a': 1, 'b': 2, 'c': 3} b = BaseDict() b['a'] = 1 b['b'] = 2 b['c'] = 3 self.assertTrue(b == d) b.clear() self.assertTrue(b == {}) self.assertTrue(d != {})
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())
def test__bool__(self): b = BaseDict() self.assertFalse(b) self.assertFalse(bool(b)) b = BaseDict() b['a'] = 1 self.assertTrue(b) self.assertTrue(bool(b)) b = BaseDict({'a': 1}) self.assertTrue(b) self.assertTrue(bool(b))
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())
def test_pop(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)
def test_setdefault_with_pointer(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}) d['d'] = 4 self.assertTrue(b == d) self.assertEqual(b, b.dict())
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())
def test_items(self): b = BaseDict({'a': 1, 'b': 2, 'c': 3}) i = list(b.items()) i.sort() self.assertTrue(i, [( 'a', 1, ), ( 'b', 2, ), ( 'c', 3, )])
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())
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())
def test__deepcopy__(self): b1 = BaseDict() b1['a'] = {} b1['a']['b'] = {} b1['a']['b']['c'] = True b2 = copy.deepcopy(b1) self.assertEqual(b1, b2) self.assertEqual(type(b1), type(b2)) self.assertFalse(b1 is b2)
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())
def test__deepcopy__with_pointer(self): d = {} d['a'] = {} d['a']['b'] = {} d['a']['b']['c'] = True b1 = BaseDict(d) b2 = copy.deepcopy(b1) self.assertEqual(b1, b2) self.assertEqual(type(b1), type(b2)) self.assertFalse(b1 is b2)