Spaces:
Runtime error
Runtime error
Download tests/test_dag.py from garvitsachdeva/SpindleFlow-RL: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/garvitsachdeva/SpindleFlow-RL/resolve/main/tests/test_dag.py
- Command line
-
hf download hf://spaces/garvitsachdeva/SpindleFlow-RL/tests/test_dag.py
-
curl -L -o test_dag.py https://huggingface.co/spaces/garvitsachdeva/SpindleFlow-RL/resolve/main/tests/test_dag.py
1.62 kB
| """Tests for delegation graph DAG enforcement.""" | |
| import pytest | |
| from env.delegation_graph import DelegationGraph | |
| def test_no_self_delegation(): | |
| g = DelegationGraph(max_depth=2) | |
| g.add_root("orchestrator") | |
| assert not g.can_delegate("orchestrator", "orchestrator") | |
| def test_basic_delegation(): | |
| g = DelegationGraph(max_depth=2) | |
| g.add_root("orchestrator") | |
| assert g.can_delegate("orchestrator", "frontend_react") | |
| g.record_delegation("orchestrator", "frontend_react", "sequential") | |
| assert "frontend_react" in g.get_called_specialists() | |
| def test_cycle_prevention(): | |
| g = DelegationGraph(max_depth=3) | |
| g.add_root("orchestrator") | |
| g.record_delegation("orchestrator", "a", "sequential") | |
| g.record_delegation("a", "b", "sequential") | |
| # b -> orchestrator should be blocked (cycle) | |
| assert not g.can_delegate("b", "orchestrator") | |
| # b -> a should be blocked (cycle) | |
| assert not g.can_delegate("b", "a") | |
| def test_depth_enforcement(): | |
| g = DelegationGraph(max_depth=2) | |
| g.add_root("orchestrator") | |
| g.record_delegation("orchestrator", "a", "sequential") | |
| g.record_delegation("a", "b", "sequential") | |
| # depth 3 would exceed max_depth=2 | |
| assert not g.can_delegate("b", "c") | |
| def test_adjacency_vector(): | |
| g = DelegationGraph(max_depth=2) | |
| g.add_root("orchestrator") | |
| g.record_delegation("orchestrator", "frontend_react", "parallel") | |
| all_ids = ["orchestrator", "frontend_react", "backend_api"] | |
| vec = g.to_adjacency_vector(all_ids, max_size=3) | |
| assert len(vec) == 9 # 3x3 | |
| assert vec[1] == 1.0 # orchestrator->frontend_react edge | |