Spaces:
Sleeping
Sleeping
File size: 1,131 Bytes
899a7c7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from pathlib import Path
from db.seed import seed_project
from graph.graph_manager import GraphManager
def test_graph_manager_traversal_is_deterministic(tmp_path: Path) -> None:
db_path = tmp_path / "phase2_graph.db"
seed_project(Path("sample_project"), db_path=str(db_path), force=True)
manager = GraphManager(source_root="sample_project", db_path=db_path)
first = manager.traversal_order()
second = manager.traversal_order()
assert first == second
assert len(first) > 0
def test_graph_manager_neighbor_queries(tmp_path: Path) -> None:
db_path = tmp_path / "phase2_graph_neighbors.db"
seed_project(Path("sample_project"), db_path=str(db_path), force=True)
manager = GraphManager(source_root="sample_project", db_path=db_path)
graph = manager.load_graph()
candidate = next(iter(graph.nodes()))
both = manager.get_neighbors(candidate, direction="both")
only_out = manager.get_neighbors(candidate, direction="out")
only_in = manager.get_neighbors(candidate, direction="in")
assert set(only_out).issubset(set(both))
assert set(only_in).issubset(set(both))
|