test: 增加测试

This commit is contained in:
2026-04-25 01:38:33 +08:00
parent b235651db5
commit 7f2bcf45de
23 changed files with 1573 additions and 1933 deletions

47
tests/test_evalizor.py Normal file
View File

@@ -0,0 +1,47 @@
"""Tests for heurams.kernel.auxiliary.evalizor.Evalizer"""
from heurams.kernel.auxiliary.evalizor import Evalizer
class TestEvalizer:
def test_noop_on_plain_string(self):
e = Evalizer({"x": 42})
assert e("hello") == "hello"
def test_eval_expression(self):
e = Evalizer({"x": 42})
assert e("eval: x") == 42
def test_eval_arithmetic(self):
e = Evalizer({"a": 10, "b": 20})
assert e("eval: a + b") == 30
def test_traverses_dict(self):
e = Evalizer({"val": 99})
data = {"key_a": "plain", "key_b": "eval: val + 1"}
result = e(data)
assert result == {"key_a": "plain", "key_b": 100}
def test_traverses_list(self):
e = Evalizer({"val": 5})
data = ["eval: val", "plain", "eval: val * 2"]
result = e(data)
assert result == [5, "plain", 10]
def test_traverses_nested(self):
e = Evalizer({"val": 3})
data = {"outer": {"inner": "eval: val ** 2"}}
result = e(data)
assert result == {"outer": {"inner": 9}}
def test_traverses_tuple(self):
e = Evalizer({"val": 7})
data = ("eval: val", "other")
result = e(data)
assert result == (7, "other")
def test_non_string_passthrough(self):
e = Evalizer({})
assert e(42) == 42
assert e(None) is None
assert e([1, 2, 3]) == [1, 2, 3]