File: test_ordereddict.py

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (38 lines) | stat: -rw-r--r-- 1,410 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

class AppTestBasic:
    spaceconfig = dict(usemodules=['_collections'])

    def test_ordereddict_present(self):
        from _collections import OrderedDict
        assert issubclass(OrderedDict, dict)
        assert hasattr(OrderedDict, 'move_to_end')

    def test_recursive_repr(self):
        from _collections import OrderedDict
        d = OrderedDict()
        d[1] = d
        assert repr(d) == 'OrderedDict([(1, ...)])'

    def test_subclass(self):
        from _collections import OrderedDict
        class MyODict(OrderedDict):
            def __setitem__(self, key, value):
                super().__setitem__(key, 42)
        d = MyODict(x=1)
        assert d['x'] == 42
        d.update({'y': 2})
        assert d['y'] == 42

    def test_reversed(self):
        import sys
        from _collections import OrderedDict

        pairs = [('c', 1), ('b', 2), ('a', 3), ('d', 4), ('e', 5), ('f', 6)]
        od = OrderedDict(pairs)
        if '__pypy__' in sys.builtin_module_names:
            # dict ordering is wrong when testing interpreted on top of CPython
            pairs = list(dict(od).items())
        assert list(reversed(od)) == [t[0] for t in reversed(pairs)]
        assert list(reversed(od.keys())) == [t[0] for t in reversed(pairs)]
        assert list(reversed(od.values())) == [t[1] for t in reversed(pairs)]
        assert list(reversed(od.items())) == list(reversed(pairs))