Пример #1
0
    def test_ordered_default_dict(self):
        mapping = OrderedDefaultDict(lambda: 2)
        mapping['a'] += 4
        mapping['b'] += 3
        mapping['c'] += 2

        self.assertEqual([('a', 6), ('b', 5), ('c', 4)], list(mapping.items()))

        self.assertEqual(['a', 'b', 'c'], list(mapping))
        self.assertEqual(['a', 'b', 'c'], list(mapping.keys()))
        self.assertEqual(['c', 'b', 'a'], list(reversed(mapping)))
        self.assertEqual([6, 5, 4], list(mapping.values()))

        self.assertEqual(6, mapping['a'])

        d_value = mapping['d']
        self.assertEqual(2, d_value)
        del mapping['d']
        self.assertNotIn('d', mapping)
        d_value = mapping['d']
        self.assertEqual(2, d_value)
        self.assertEqual(4, len(mapping))

        mapping.pop('d')
        self.assertEqual(3, len(mapping))

        mapping.pop('b')
        self.assertEqual(2, len(mapping))
        self.assertEqual(['a', 'c'], list(mapping))
        self.assertEqual(['a', 'c'], list(mapping.keys()))
Пример #2
0
 def __init__(self,
              normalize_overrides=None,
              encoding='utf-8',
              wrap_width=None):
     self._map = OrderedDefaultDict(list)
     self.raw = None
     self.encoding = encoding
     self._normalize_overrides = normalize_overrides
     self._wrap_width = wrap_width
Пример #3
0
    def test_ordered_default_dict_deep_copy(self):
        d1 = OrderedDefaultDict()
        d1['a'] = object()
        d2 = copy.deepcopy(d1)
        self.assertNotEqual(d1['a'], d2['a'])

        d2['b'] = 5

        self.assertEqual(1, len(d1))
        self.assertEqual(2, len(d2))
Пример #4
0
    def test_ordered_default_dict(self):
        mapping = OrderedDefaultDict(lambda: 2)
        mapping['a'] += 4
        mapping['b'] += 3
        mapping['c'] += 2

        self.assertEqual(
            [('a', 6), ('b', 5), ('c', 4)],
            list(mapping.items())
        )
Пример #5
0
 def __init__(self, normalize_overrides=None):
     self._map = OrderedDefaultDict(list)
     self.raw = None
     self.encoding = 'utf-8'
     self._normalize_overrides = normalize_overrides