def test_od_create(): od = OrderedDict() assert od.keys() == [] od = OrderedDict([("a", "b"), ("c", "d"), ("foo", "bar")]) assert od.keys() == ["a", "c", "foo"] od = OrderedDict(a="b", c="d", foo="bar") assert set(od.keys()) == set(["a", "c", "foo"])
def test_od_create(): od = OrderedDict() assert od.keys() == [] od = OrderedDict([('a', 'b'), ('c', 'd'), ('foo', 'bar')]) assert od.keys() == ['a', 'c', 'foo'] od = OrderedDict(a='b', c='d', foo='bar') assert set(od.keys()) == set(['a', 'c', 'foo'])
def test_od_setdefault(): od = OrderedDict([('a', 'b')]) assert od.setdefault('foo') is None assert od.keys() == ['a', 'foo'] assert od.setdefault('bar', 'baz') == 'baz' assert od.keys() == ['a', 'foo', 'bar'] assert od.setdefault('a') == 'b' assert od == {'a': 'b', 'foo': None, 'bar': 'baz'}
def test_od_setdefault(): od = OrderedDict([("a", "b")]) assert od.setdefault("foo") is None assert od.keys() == ["a", "foo"] assert od.setdefault("bar", "baz") == "baz" assert od.keys() == ["a", "foo", "bar"] assert od.setdefault("a") == "b" assert od == {"a": "b", "foo": None, "bar": "baz"}
def test_pickle_recursive(): od = OrderedDict() od['x'] = od rec = pickle.loads(pickle.dumps(od)) assert list(od.keys()) == list(rec.keys()) assert od is not rec assert rec['x'] is rec
def test_od_popitem(): od = OrderedDict([("a", "b"), ("c", "d"), ("foo", "bar")]) assert od.popitem() == ("a", "b") assert "a" not in od assert od.keys() == ["c", "foo"] assert od.popitem() == ("c", "d") assert "c" not in od assert od.keys() == ["foo"] assert od.popitem() == ("foo", "bar") assert "foo" not in od assert od.keys() == [] with pytest.raises(KeyError): od.popitem()
def test_iterators(f): pairs = [('c', 1), ('b', 2), ('a', 3), ('d', 4), ('e', 5), ('f', 6)] shuffle(pairs) od = OrderedDict(pairs) assert list(f(od)) == [t[0] for t in f(pairs)] assert list(f(od.keys())) == [t[0] for t in f(pairs)] assert list(f(od.values())) == [t[1] for t in f(pairs)] assert list(f(od.items())) == list(f(pairs))
def test_od_popitem(): od = OrderedDict([('a', 'b'), ('c', 'd'), ('foo', 'bar')]) assert od.popitem() == ('a', 'b') assert 'a' not in od assert od.keys() == ['c', 'foo'] assert od.popitem() == ('c', 'd') assert 'c' not in od assert od.keys() == ['foo'] assert od.popitem() == ('foo', 'bar') assert 'foo' not in od assert od.keys() == [] with pytest.raises(KeyError): od.popitem()
def test_od_deepcopy(): lst = [1, 2, 3] od = OrderedDict(a=lst) new_od = deepcopy(od) new_od['a'].append(4) assert od['a'] is lst assert lst == [1, 2, 3] assert new_od['a'] == [1, 2, 3, 4] assert od.keys() == new_od.keys()
def test_od_pop(): od = OrderedDict([('a', 'b'), ('c', 'd'), ('foo', 'bar')]) assert od.pop('a') == 'b' assert 'a' not in od assert od.keys() == ['c', 'foo'] assert od.pop('bar', 1) == 1 with pytest.raises(KeyError): od.pop('bar')
def test_od_pop(): od = OrderedDict([("a", "b"), ("c", "d"), ("foo", "bar")]) assert od.pop("a") == "b" assert "a" not in od assert od.keys() == ["c", "foo"] assert od.pop("bar", 1) == 1 with pytest.raises(KeyError): od.pop("bar")
def test_od_sort(): items = [] for i in range(10): items.append((i, 9 - i)) od = OrderedDict(items) od.sort(key=lambda x: x[1]) assert od.keys() == list(range(9, -1, -1)) items = [] for i in range(10): items.append((9 - i, 9 - i)) od = OrderedDict(items) od.sort() assert od.keys() == list(range(10)) od = OrderedDict(items) od.sort(reverse=True) assert od.keys() == list(range(9, -1, -1))
def test_sort(): items = [] for i in range(10): items.append((i, 9 - i)) od = OrderedDict(items) od.sort(cmp=lambda x, y: cmp(x[1], y[1])) assert od.keys() == range(9, -1, -1) items = [] for i in range(10): items.append((9 - i, 9 - i)) od = OrderedDict(items) od.sort() assert od.keys() == range(10) od = OrderedDict(items) od.sort(reverse=True) assert od.keys() == range(9, -1, -1)
def test_sort(): items = [] for i in range(10): items.append((i, 9 - i)) od = OrderedDict(items) od.sort(key=lambda x: x[1]) assert od.keys() == list(range(9, -1, -1)) items = [] for i in range(10): items.append((9 - i, 9 - i)) od = OrderedDict(items) od.sort() assert od.keys() == list(range(10)) od = OrderedDict(items) od.sort(reverse=True) assert od.keys() == list(range(9, -1, -1))
def test_od_delete_key(): od = OrderedDict([('a', 'b'), ('c', 'd'), ('foo', 'bar')]) del od['c'] assert od.keys() == ['a', 'foo']
def test_od_delete_key(): od = OrderedDict([("a", "b"), ("c", "d"), ("foo", "bar")]) del od["c"] assert od.keys() == ["a", "foo"]