parent
f6458c6abd
commit
2626082724
@ -1,56 +1,77 @@
|
||||
import pytest
|
||||
from swarms.structs.graph_workflow import GraphWorkflow
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def graph_workflow():
|
||||
return GraphWorkflow()
|
||||
|
||||
|
||||
def test_init(graph_workflow):
|
||||
assert graph_workflow.graph == {}
|
||||
assert graph_workflow.entry_point is None
|
||||
|
||||
|
||||
def test_add(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
assert "node1" in graph_workflow.graph
|
||||
assert graph_workflow.graph["node1"]["value"] == "value1"
|
||||
assert graph_workflow.graph["node1"]["edges"] == {}
|
||||
|
||||
|
||||
def test_set_entry_point(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
graph_workflow.set_entry_point("node1")
|
||||
assert graph_workflow.entry_point == "node1"
|
||||
|
||||
|
||||
def test_set_entry_point_nonexistent_node(graph_workflow):
|
||||
with pytest.raises(ValueError, match="Node does not exist in graph"):
|
||||
with pytest.raises(
|
||||
ValueError, match="Node does not exist in graph"
|
||||
):
|
||||
graph_workflow.set_entry_point("nonexistent")
|
||||
|
||||
|
||||
def test_add_edge(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
graph_workflow.add("node2", "value2")
|
||||
graph_workflow.add_edge("node1", "node2")
|
||||
assert "node2" in graph_workflow.graph["node1"]["edges"]
|
||||
|
||||
|
||||
def test_add_edge_nonexistent_node(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
with pytest.raises(ValueError, match="Node does not exist in graph"):
|
||||
with pytest.raises(
|
||||
ValueError, match="Node does not exist in graph"
|
||||
):
|
||||
graph_workflow.add_edge("node1", "nonexistent")
|
||||
|
||||
|
||||
def test_add_conditional_edges(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
graph_workflow.add("node2", "value2")
|
||||
graph_workflow.add_conditional_edges("node1", "condition1", {"condition_value1": "node2"})
|
||||
graph_workflow.add_conditional_edges(
|
||||
"node1", "condition1", {"condition_value1": "node2"}
|
||||
)
|
||||
assert "node2" in graph_workflow.graph["node1"]["edges"]
|
||||
|
||||
|
||||
def test_add_conditional_edges_nonexistent_node(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
with pytest.raises(ValueError, match="Node does not exist in graph"):
|
||||
graph_workflow.add_conditional_edges("node1", "condition1", {"condition_value1": "nonexistent"})
|
||||
with pytest.raises(
|
||||
ValueError, match="Node does not exist in graph"
|
||||
):
|
||||
graph_workflow.add_conditional_edges(
|
||||
"node1", "condition1", {"condition_value1": "nonexistent"}
|
||||
)
|
||||
|
||||
|
||||
def test_run(graph_workflow):
|
||||
graph_workflow.add("node1", "value1")
|
||||
graph_workflow.set_entry_point("node1")
|
||||
assert graph_workflow.run() == graph_workflow.graph
|
||||
|
||||
|
||||
def test_run_no_entry_point(graph_workflow):
|
||||
with pytest.raises(ValueError, match="Entry point not set"):
|
||||
graph_workflow.run()
|
||||
graph_workflow.run()
|
||||
|
Loading…
Reference in new issue