Пример #1
0
    def test_multi_level(self):
        obj = MapWrapper({
            "a": MapWrapper({"b": "c"}, None),
            "d": MapWrapper({"e": "f"}, None),
        }, None)

        assert obj.dig("a", "b") == "c"
        assert obj.dig("d", "e") == "f"
Пример #2
0
    def test_visit(self):
        obj1 = Base(None, None)
        obj1.called = Mock()
        obj2 = Base(None, None)
        obj2.not_called = Mock()

        MapWrapper({"a": obj1, "b": obj2}, None).visit(
            "called", "with", keyword="args",
        )

        obj1.called.assert_called_once_with("with", keyword="args")
        obj2.not_called.assert_not_called()
Пример #3
0
 def test_duplicated_key(self):
     with pytest.raises(ParseError, match="twice"):
         MapWrapper({"twice": 0}, None).merge(
             MapWrapper({"twice": 1}, None),
         )
Пример #4
0
    def test_merge(self):
        testmap = MapWrapper({"a": 0}, None)
        testmap.merge(MapWrapper({"b": 1}, None))

        assert testmap.data == dict(a=0, b=1)
Пример #5
0
 def test_bad_index_type(self):
     assert MapWrapper({}, None).dig(1) is None
Пример #6
0
 def test_bad_index(self):
     assert MapWrapper({}, None).dig("a") is None
Пример #7
0
 def test_single_level(self):
     assert MapWrapper({"k": "v"}, None).dig("k") == "v"
Пример #8
0
 def test_items(self):
     data = dict(a="b", c="d")
     assert list(MapWrapper(data, None).items()) == list(data.items())
Пример #9
0
 def test_values(self):
     data = dict(a="b", c="d")
     assert list(MapWrapper(data, None).values()) == list(data.values())
Пример #10
0
 def test_iteration(self):
     data = dict(a="b", c="d")
     assert list(MapWrapper(data, None)) == list(data)
Пример #11
0
 def test_test_non_string_key(self):
     with pytest.raises(KeyError):
         assert MapWrapper({Base(1, None): "v"}, None)[1]
Пример #12
0
 def test_empty_visit(self):
     MapWrapper({}, None).visit("called", "with", keyword="args")
Пример #13
0
 def test_lut_access_for_string_key(self):
     assert MapWrapper({"k": "v"}, None)["k"] == "v"
Пример #14
0
 def test_bare(self):
     assert MapWrapper({"a": Base("b", None)}, None).bare == {"a": "b"}