Spaces:
Running
Running
from lynxkite.core import ops, workspace | |
from lynxkite.core.executors import one_by_one | |
async def test_optional_inputs(): | |
def one(): | |
return 1 | |
def maybe_add(a: list[int], b: list[int] | None = None): | |
return [a + b for a, b in zip(a, b)] if b else a | |
assert maybe_add.__op__.inputs == [ | |
ops.Input(name="a", type=list[int], position="bottom"), | |
ops.Input(name="b", type=list[int] | None, position="bottom"), | |
] | |
one_by_one.register("test") | |
ws = workspace.Workspace(env="test", nodes=[], edges=[]) | |
a = ws.add_node(one) | |
b = ws.add_node(maybe_add) | |
outputs = await ws.execute() | |
assert b.data.error == "Missing input: a" | |
ws.add_edge(a, "output", b, "a") | |
outputs = await ws.execute() | |
assert outputs[b.id].last_result == [1] | |