aboutsummaryrefslogtreecommitdiff
path: root/.ai/scripts/tests/test_drill_deck_stats.py
diff options
context:
space:
mode:
Diffstat (limited to '.ai/scripts/tests/test_drill_deck_stats.py')
-rw-r--r--.ai/scripts/tests/test_drill_deck_stats.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/.ai/scripts/tests/test_drill_deck_stats.py b/.ai/scripts/tests/test_drill_deck_stats.py
index 80b9913..d60084d 100644
--- a/.ai/scripts/tests/test_drill_deck_stats.py
+++ b/.ai/scripts/tests/test_drill_deck_stats.py
@@ -303,3 +303,77 @@ def test_cli_non_blocking_notes_keep_exit_zero(tmp_path):
r = _run(f)
assert r.returncode == 0
assert "NOTE" in r.stdout
+
+
+# --- leakage refinements: source-line strip + numeric carve-out ---
+
+def test_prose_body_strips_source_and_created_lines(stats):
+ body = "The real answer here.\nCreated: 2026-05-30\nSource: AHA — https://heart.org/x"
+ assert stats.prose_body(body) == "The real answer here."
+
+
+def test_has_distinct_numeric_recall_true_for_range_card(stats):
+ assert stats.has_distinct_numeric_recall(
+ "What are the HbA1c ranges across normal, prediabetes, and diabetes?",
+ "Normal: <5.7%. Prediabetes: 5.7-6.4%. Diabetes: >=6.5%.",
+ ) is True
+
+
+def test_has_distinct_numeric_recall_false_without_numbers(stats):
+ assert stats.has_distinct_numeric_recall("What is LEO?", "Low Earth Orbit.") is False
+
+
+def test_is_leaky_false_when_overlap_is_only_in_the_source_line(stats):
+ heading = "What blood pressure constitutes a hypertensive crisis?"
+ body = ("A reading at or above 180/120.\n"
+ "Source: AHA — https://heart.org/high-blood-pressure/hypertensive-crisis")
+ assert stats.is_leaky(heading, body) is False
+
+
+def test_is_leaky_false_for_numeric_range_card(stats):
+ heading = "What are the HbA1c ranges across normal, prediabetes, and diabetes?"
+ body = "HbA1c ranges. Normal: <5.7%. Prediabetes: 5.7-6.4%. Diabetes: >=6.5%."
+ assert stats.is_leaky(heading, body) is False
+
+
+def test_is_leaky_true_for_genuine_restatement(stats):
+ heading = "primary orbital regimes satellites classification"
+ body = "The primary orbital regimes satellites classification scheme."
+ assert stats.is_leaky(heading, body) is True
+
+
+SOURCE_LINE_DECK = """#+TITLE: Test Flashcards
+
+* Section
+** What blood pressure constitutes a hypertensive crisis? :drill:
+:PROPERTIES:
+:ID: c1
+:END:
+A reading at or above 180/120.
+
+Source: AHA — https://heart.org/high-blood-pressure/hypertensive-crisis-blood-pressure
+"""
+
+RANGE_CARD_DECK = """#+TITLE: Test Flashcards
+
+* Section
+** What are the HbA1c ranges across normal, prediabetes, and diabetes? :drill:
+:PROPERTIES:
+:ID: c1
+:END:
+HbA1c ranges. Normal: <5.7%. Prediabetes: 5.7-6.4%. Diabetes: >=6.5%.
+"""
+
+
+def test_cli_source_line_overlap_is_not_flagged(tmp_path):
+ f = tmp_path / "source.org"
+ f.write_text(SOURCE_LINE_DECK)
+ r = _run(f)
+ assert r.returncode == 0
+
+
+def test_cli_numeric_range_card_is_not_flagged(tmp_path):
+ f = tmp_path / "range.org"
+ f.write_text(RANGE_CARD_DECK)
+ r = _run(f)
+ assert r.returncode == 0