Use ItemsView in _bidict_and_mapping_from_items when not same_items for portability.

e.g. on PyPy:

    >>>> b = bidict({1: 2, 3: 4})
    >>>> b.items()
    [(1, 2), (3, 4)]
    >>>> m = {3: 4, 1: 2}
    >>>> m.items()
    [(3, 4), (1, 2)]
    >>>> b.items() == m.items()
    False
    >>>> ItemsView(b) == ItemsView(m)
    True
This commit is contained in:
jab 2019-04-14 21:16:11 +00:00
parent 3f8282b782
commit 1e34ae0a24
1 changed files with 2 additions and 2 deletions

View File

@ -12,7 +12,7 @@ from collections import OrderedDict
from hypothesis import assume, strategies as st
from bidict import IGNORE, OVERWRITE, RAISE, OrderedBidictBase, namedbidict
from bidict.compat import PY2, izip
from bidict.compat import ItemsView, PY2, izip
import _types as t
@ -186,7 +186,7 @@ def _bidict_and_mapping_from_items(
b = bi_cls(bi_items_)
m = map_cls(map_items_)
if not same_items:
assume(m.items() != b.items())
assume(ItemsView(m) != ItemsView(b))
return b, m