def test_weak_keyed_dict_setdefault(self): key, value1, value2 = C(), "value 1", "value 2" self.assertTrue(value1 is not value2, "invalid test" " -- value parameters must be distinct objects") weakdict = WeakKeyIdentityDict() o = weakdict.setdefault(key, value1) assert o is value1 assert key in weakdict assert weakdict.get(key) is value1 assert weakdict[key] is value1 o = weakdict.setdefault(key, value2) assert o is value1 assert key in weakdict assert weakdict.get(key) is value1 assert weakdict[key] is value1
def test_weak_keyed_dict_setdefault(self): key, value1, value2 = C(), "value 1", "value 2" self.assertTrue( value1 is not value2, "invalid test" " -- value parameters must be distinct objects") weakdict = WeakKeyIdentityDict() o = weakdict.setdefault(key, value1) assert o is value1 assert key in weakdict assert weakdict.get(key) is value1 assert weakdict[key] is value1 o = weakdict.setdefault(key, value2) assert o is value1 assert key in weakdict assert weakdict.get(key) is value1 assert weakdict[key] is value1
def test_update(self): # # This exercises d.update(), len(d), d.keys(), in d, # d.get(), d[]. # dict_ = {C(): 1, C(): 2, C(): 3} weakdict = WeakKeyIdentityDict() weakdict.update(dict_) self.assertEqual(len(weakdict), len(dict_)) for k in weakdict.keys(): assert k in dict_ v = dict_.get(k) assert v is weakdict[k] assert v is weakdict.get(k) for k in dict_.keys(): assert k in weakdict v = dict_[k] assert v is weakdict[k] assert v is weakdict.get(k)