Didactopus/tests/test_planner.py

24 lines
930 B
Python

from didactopus.artifact_registry import discover_domain_packs
from didactopus.config import load_config
from didactopus.graph_builder import build_concept_graph
from didactopus.planner import PlannerWeights, rank_next_concepts
def test_rank_next_concepts() -> None:
config = load_config("configs/config.example.yaml")
results = discover_domain_packs(["domain-packs"])
graph = build_concept_graph(results, config.platform.default_dimension_thresholds)
ranked = rank_next_concepts(
graph=graph,
mastered=set(),
targets=["bayes-extension::posterior"],
weak_dimensions_by_concept={"bayes-extension::prior": ["transfer"]},
fragile_concepts={"bayes-extension::prior"},
project_catalog=[{"id": "p1", "prerequisites": ["bayes-extension::prior"]}],
weights=PlannerWeights(),
)
assert len(ranked) >= 1
assert ranked[0]["score"] >= ranked[-1]["score"]