def test_misc_non_mutating(self): ''' Misc non-mutating dict behaviors. - Superdict instances generally behave like normal dicts. ''' sd = Superdict(a = 11, b = 22) # __contains__ self.assertTrue('a' in sd) self.assertFalse('z' in sd) self.assertFalse('pop' in sd) # __len__ aEq(len(sd), 2) # keys, values, items aEq(set(sd.keys()), set('ab')) aEq(set(sd.values()), set([11,22])) aEq(set(sd.items()), set([('a', 11), ('b', 22)])) # copy d = sd.copy() self.assertIs(type(d), dict) aEq(d, dict(sd)) # equality aEq(sd, dict(a = 11, b = 22))