| Total Complexity | 3 |
| Total Lines | 27 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | import pytest |
||
| 2 | |||
| 3 | from mandos.model.query_utils import JsonNavigator, Fns |
||
| 4 | |||
| 5 | |||
| 6 | class TestNav: |
||
| 7 | def test(self): |
||
| 8 | nav = JsonNavigator.create(dict(a=dict(b=1))) |
||
| 9 | assert (nav / "a" >> "b").contents == [1] |
||
| 10 | |||
| 11 | def test_filter(self): |
||
| 12 | nav = JsonNavigator.create([dict(a="x", b="y"), dict(a="123", b="456")]) |
||
| 13 | a = nav / Fns.key_equals("b", "y") // "a" // Fns.require_only() |
||
| 14 | assert a.contents == ["x"] |
||
| 15 | |||
| 16 | def test_mod(self): |
||
| 17 | nav = JsonNavigator.create([dict(a="x", b="y"), dict(a="123", b="456")]) |
||
| 18 | assert len((nav % "a").contents) == 1 |
||
| 19 | assert dict((nav % "a").contents[0]) == { |
||
| 20 | "x": dict(a="x", b="y", _landmark=""), |
||
| 21 | "123": dict(a="123", b="456", _landmark=""), |
||
| 22 | } |
||
| 23 | |||
| 24 | |||
| 25 | if __name__ == "__main__": |
||
| 26 | pytest.main() |
||
| 27 |