initial
This commit is contained in:
35
test/get_test.py
Normal file
35
test/get_test.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from manipulator import get
|
||||
|
||||
def test_id():
|
||||
x = {}
|
||||
assert get(x, "") == x
|
||||
|
||||
|
||||
def test_simple_id_query():
|
||||
x = [1]
|
||||
|
||||
assert get(x, "#0") == 1
|
||||
|
||||
|
||||
def test_simple_class_query():
|
||||
x = [{"k": "v"}, {"k": "v2"}]
|
||||
|
||||
assert get(x, ".k") == ["v", "v2"]
|
||||
|
||||
|
||||
def test_nested_id_query():
|
||||
x = [{"k": "v"}]
|
||||
|
||||
assert get(x, "#0 #k") == "v"
|
||||
|
||||
|
||||
def test_nested_class_query():
|
||||
x = [{"k": {"k2": "v"}}, {"k": {"k2": "v2"}}]
|
||||
|
||||
assert get(x, ".k .k2") == ["v", "v2"]
|
||||
|
||||
|
||||
def test_complex_query():
|
||||
x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
||||
|
||||
assert get(x, ".k #1 #a .k") == [10, 11]
|
16
test/set_test.py
Normal file
16
test/set_test.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from manipulator import set # bad idea, overriding set constructor!
|
||||
|
||||
def test_complex_set():
|
||||
x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
||||
after = [{"k": "v"}, {"k": {"a": [{"k": 100}, {"k": 100}]}}]
|
||||
|
||||
assert set(x, ".k #1 #a .k", 100) == after
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_complex_update_copy():
|
||||
x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
||||
after = [{"k": "v"}, {"k": {"a": [{"k": 100}, {"k": 100}]}}]
|
||||
|
||||
assert set(x, ".k #1 #a .k", 100, in_place=False) == after
|
||||
assert x == [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
79
test/update_test.py
Normal file
79
test/update_test.py
Normal file
@@ -0,0 +1,79 @@
|
||||
from manipulator import update
|
||||
|
||||
def test_update_id():
|
||||
x = [1]
|
||||
after = [2]
|
||||
|
||||
assert update(x, "#0", lambda x: x+1) == [2]
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_update_id_copy():
|
||||
x = [1]
|
||||
|
||||
assert update(x, "#0", lambda x: x+1, in_place=False) == [2]
|
||||
assert x == [1]
|
||||
|
||||
|
||||
def test_update_class():
|
||||
x = [{"k": 1}, {"k": 2}]
|
||||
after = [{"k": 2}, {"k": 3}]
|
||||
|
||||
assert update(x, ".k", lambda x: x+1) == after
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_update_class_copy():
|
||||
x = [{"k": 1}, {"k": 2}]
|
||||
after = [{"k": 2}, {"k": 3}]
|
||||
|
||||
assert update(x, ".k", lambda x: x+1, in_place=False) == after
|
||||
assert x == [{"k": 1}, {"k": 2}]
|
||||
|
||||
|
||||
def test_update_nested_id():
|
||||
x = [{"k": 1}]
|
||||
after = [{"k": 2}]
|
||||
|
||||
assert update(x, "#0 #k", lambda x: x+1) == after
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_update_nested_id_copy():
|
||||
x = [{"k": 1}]
|
||||
after = [{"k": 2}]
|
||||
|
||||
assert update(x, "#0 #k", lambda x: x+1, in_place=False) == after
|
||||
assert x == [{"k": 1}]
|
||||
|
||||
|
||||
def test_update_nested_class():
|
||||
x = [{"k": {"k2": 1}}, {"k": {"k2": 2}}]
|
||||
after = [{"k": {"k2": 2}}, {"k": {"k2": 3}}]
|
||||
|
||||
assert update(x, ".k .k2", lambda x: x+1) == after
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_update_nested_class_copy():
|
||||
x = [{"k": {"k2": 1}}, {"k": {"k2": 2}}]
|
||||
after = [{"k": {"k2": 2}}, {"k": {"k2": 3}}]
|
||||
|
||||
assert update(x, ".k .k2", lambda x: x+1, in_place=False) == after
|
||||
assert x == [{"k": {"k2": 1}}, {"k": {"k2": 2}}]
|
||||
|
||||
|
||||
def test_complex_update():
|
||||
x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
||||
after = [{"k": "v"}, {"k": {"a": [{"k": 11}, {"k": 12}]}}]
|
||||
|
||||
assert update(x, ".k #1 #a .k", lambda x: x+1) == after
|
||||
assert x == after
|
||||
|
||||
|
||||
def test_complex_update_copy():
|
||||
x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
||||
after = [{"k": "v"}, {"k": {"a": [{"k": 11}, {"k": 12}]}}]
|
||||
|
||||
assert update(x, ".k #1 #a .k", lambda x: x+1, in_place=False) == after
|
||||
assert x == [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]
|
Reference in New Issue
Block a user