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] | |