Example #1
0
 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)
Example #2
0
 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))