Пример #1
0
    def test_copy_kwargs(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy(**self.ODICT_2)

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(dict(list(fod1.items()) + list(self.ODICT_2.items())),
                         fod2)
Пример #2
0
    def test_copy_ordereddict_items(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy(self.ODICT_2)

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(
            list(fod1.items()) + list(self.ITEMS_2), list(fod2.items()))
    def test_copy_no_items(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy()

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(fod1.items(), fod2.items())
        self.assertEqual(repr(fod1), repr(fod2))
        self.assertEqual(len(fod1), len(fod2))
        self.assertEqual(hash(fod1), hash(fod2))
    def test_copy_no_items(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy()

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(fod1.items(), fod2.items())
        self.assertEqual(repr(fod1), repr(fod2))
        self.assertEqual(len(fod1), len(fod2))
        self.assertEqual(hash(fod1), hash(fod2))
Пример #5
0
class TMap(Generic[M, I]):
    """ Wrapper of `immutables.Map` with simpler type information. `immutables`
  seems to provide their own typeing, but we want to stay compatible with older
  versions of mypy. """
    def __init__(self, *args, **kwargs) -> None:
        self.dict = FrozenOrderedDict(*args, **kwargs)

    def __getitem__(self, key: M) -> I:
        return self.dict.__getitem__(key)

    def __hash__(self):
        return self.dict.__hash__()

    def get(self, key: M, default: Optional[I] = None) -> I:
        return self.dict.get(key, default)

    def set(self, key: M, val: I) -> 'TMap[M,I]':
        return TMap(self.dict.copy({key: val}))

    def items(self) -> Iterable[Tuple[M, I]]:
        return self.dict.items()

    def values(self) -> Iterable[I]:
        return self.dict.values()

    def keys(self) -> Iterable[M]:
        return self.dict.keys()

    def __eq__(self, other):
        return self.dict == other.dict

    def __len__(self):
        return len(self.dict)

    def __repr__(self):
        return f"TMap({self.dict.__repr__()})"
    def test_copy_kwargs(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy(**self.ODICT_2)

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(dict(fod1.items() + self.ODICT_2.items()), fod2)
    def test_copy_ordereddict_items(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy(self.ODICT_2)

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(fod1.items() + list(self.ITEMS_2), fod2.items())
 def test_init_from_ordereddict(self):
     fod = FrozenOrderedDict(self.ODICT_1)
     self.assertEqual(list(self.ITEMS_1), fod.items())
    def test_copy_tuple_items(self):
        fod1 = FrozenOrderedDict(self.ITEMS_1)
        fod2 = fod1.copy(self.ITEMS_2)

        self.assertNotEqual(id(fod1), id(fod2))
        self.assertEqual(fod1.items() + list(self.ITEMS_2), fod2.items())
 def doit():
     fod = FrozenOrderedDict(self.ITEMS_1)
     del fod[1]
 def doit():
     fod = FrozenOrderedDict()
     fod[1] = "b"
 def test_init_from_ordereddict(self):
     fod = FrozenOrderedDict(self.ODICT_1)
     self.assertEqual(list(self.ITEMS_1), fod.items())
Пример #13
0
 def __init__(self, *args, **kwargs) -> None:
     self.dict = FrozenOrderedDict(*args, **kwargs)
Пример #14
0
 def test_init_from_items(self):
     fod = FrozenOrderedDict(self.ITEMS_1)
     self.assertEqual(list(self.ITEMS_1), list(fod.items()))