Files
StableLlama-ComfyUI-basic_d…/tests/test_dynamic_input.py
T

44 lines
1.1 KiB
Python

import pytest
from src.basic_data_handling._dynamic_input import ContainsDynamicDict
def test_contains_dynamic_dict_basic_lookup():
d = ContainsDynamicDict(
{
"value": ("x", {"_dynamic": "number"}),
"fixed": "y",
}
)
# direct behavior
assert "value" in d
assert d["value"] == ("x", {"_dynamic": "number"})
# dynamic numeric key lookup
assert "value1" in d
assert d["value1"] == ("x", {"_dynamic": "number"})
assert "value999" in d
assert d["value999"] == ("x", {"_dynamic": "number"})
# non-dynamic key and fallback
assert "fixed" in d
assert d["fixed"] == "y"
# non-matching key should not be present
assert "novalue" not in d
with pytest.raises(KeyError):
_ = d["novalue"]
def test_contains_dynamic_dict_partial_prefix_not_numeric():
d = ContainsDynamicDict({"val": ("z", {"_dynamic": "number"})})
assert "val" in d
assert d["val"] == ("z", {"_dynamic": "number"})
assert "val1" in d
assert d["val1"] == ("z", {"_dynamic": "number"})
assert "valx" not in d
with pytest.raises(KeyError):
_ = d["valx"]