mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-05-31 23:59:38 +03:00
added deep get tests
This commit is contained in:
parent
5b96b9b118
commit
da8bb27b84
@ -56,3 +56,23 @@ def test_apply_no_error() -> None:
|
|||||||
def test_get_int(input: str, expected: Optional[int]) -> None:
|
def test_get_int(input: str, expected: Optional[int]) -> None:
|
||||||
"""Check that _get_int doesn't throw when handed bad data."""
|
"""Check that _get_int doesn't throw when handed bad data."""
|
||||||
assert expected == killswitch._get_int(input)
|
assert expected == killswitch._get_int(input)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
("source", "key", "action", "to_set", "result"),
|
||||||
|
[
|
||||||
|
(["this", "is", "a", "test"], "1", "delete", None, ["this", "a", "test"]),
|
||||||
|
(["this", "is", "a", "test"], "1", "", None, ["this", None, "a", "test"]),
|
||||||
|
({"now": "with", "a": "dict"}, "now", "delete", None, {"a": "dict"}),
|
||||||
|
({"now": "with", "a": "dict"}, "now", "", None, {"now": None, "a": "dict"}),
|
||||||
|
({"depth": {"is": "important"}}, "depth.is", "", "nonexistent", {"depth": {"is": "nonexistent"}}),
|
||||||
|
([{"test": ["stuff"]}], "0.test.0", "", "things", [{"test": ["things"]}]),
|
||||||
|
(({"test": {"with": ["a", "tuple"]}},), "0.test.with.0", "delete", "", ({"test": {"with": ["tuple"]}},)),
|
||||||
|
({"test": ["with a", {"set", "of", "stuff"}]}, "test.1", "delete", "", {"test": ["with a"]})
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_deep_get(source: UPDATABLE_DATA, key: str, action: str, to_set: Any, result: UPDATABLE_DATA) -> None:
|
||||||
|
"""Test _deep_get behaves as expected."""
|
||||||
|
cpy = copy.deepcopy(source)
|
||||||
|
killswitch._deep_apply(target=cpy, path=key, to_set=to_set, delete=action == "delete")
|
||||||
|
assert cpy == result
|
||||||
|
Loading…
x
Reference in New Issue
Block a user