File: test_anyset.py

package info (click to toggle)
deepdiff 8.1.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,716 kB
  • sloc: python: 14,702; makefile: 164; sh: 9
file content (39 lines) | stat: -rw-r--r-- 1,297 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
39
from deepdiff.anyset import AnySet


class TestAnySet:
    def test_anyset_init1(self):
        items = [1, 2, 4, 4]
        result = AnySet(items)
        expected = ({1, 2, 4}, {})
        assert expected == result
        assert repr(result) == r'< AnySet SetOrdered([1, 2, 4]), {} >'

    def test_anyset_init2(self):
        items = [1, 2, {1}, 4, 4, {1}]
        result = AnySet(items)
        expected = ({1, 2, 4}, {'e298e5a6cfa50a5b9d2cd4392c6c34a867d325e8de2966a8183c4cdf9a93120d': {1}})
        assert expected == result

    def test_anyset_init3_add(self):
        items = [1, 2, {1}, 4, 4, {1}]
        result = AnySet()
        for item in items:
            result.add(item)
        expected = ({1, 2, 4}, {'e298e5a6cfa50a5b9d2cd4392c6c34a867d325e8de2966a8183c4cdf9a93120d': {1}})
        assert expected == result

    def test_anyset_pop1(self):
        items = [1, 2, {1}, 4, 4, {1}]
        result = AnySet(items)
        while result:
            result_len = len(result)
            item = result.pop()
            assert item in items
            assert len(result) == result_len - 1

    def test_iter_anyset(self):
        items = [1, 2, {1}, 4, 4, {1}, {3: 3}]
        obj = AnySet(items)
        result = [i for i in obj]
        assert [1, 2, 4, {1}, {3: 3}] == result