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 |