def test_preserve(self): dct = mappings.PreservingFoldingDict( str.lower, list({'Foo': 'bar', 'fnz': 'donkey'}.items())) assert dct['fnz'] == 'donkey' assert dct['foo'] == 'bar' assert sorted(['bar' == 'donkey']), sorted(dct.values()) assert dct.copy() == dct assert dct['foo'] == dct.get('Foo') assert 'foo' in dct keys = ['Foo', 'fnz'] keysList = list(dct) for key in keys: assert key in list(dct.keys()) assert key in keysList assert (key, dct[key]) in list(dct.items()) assert len(keys) == len(dct) assert dct.pop('foo') == 'bar' assert 'foo' not in dct del dct['fnz'] assert 'fnz' not in dct dct['Foo'] = 'bar' dct.refold(lambda _: _) assert 'foo' not in dct assert 'Foo' in dct assert list(dct.items()) == [('Foo', 'bar')] dct.clear() assert {} == dict(dct)
def testPreserve(self): dct = mappings.PreservingFoldingDict(str.lower, { 'Foo': 'bar', 'fnz': 'donkey' }.iteritems()) self.assertEqual(dct['fnz'], 'donkey') self.assertEqual(dct['foo'], 'bar') self.assertEqual(sorted(['bar', 'donkey']), sorted(dct.values())) self.assertEqual(dct.copy(), dct) self.assertEqual(dct['foo'], dct.get('Foo')) self.assertIn('foo', dct) keys = ['Foo', 'fnz'] keysList = list(dct) for key in keys: self.assertIn(key, dct.keys()) self.assertIn(key, keysList) self.assertIn((key, dct[key]), dct.items()) self.assertEqual(len(keys), len(dct)) self.assertEqual(dct.pop('foo'), 'bar') self.assertNotIn('foo', dct) del dct['fnz'] self.assertNotIn('fnz', dct) dct['Foo'] = 'bar' dct.refold(lambda _: _) self.assertNotIn('foo', dct) self.assertIn('Foo', dct) self.assertEqual(dct.items(), [('Foo', 'bar')]) dct.clear() self.assertEqual({}, dict(dct))