diff options
| author | godosa <godosa@godosa.eu> | 2026-10-07 07:27:17 +0200 |
|---|---|---|
| committer | godosa <godosa@godosa.eu> | 2026-10-07 07:27:17 +0200 |
| commit | 81d4e80fd5aabe4e80f58e960affa795cf7d34ec (patch) | |
| tree | e98eeac2af6af63aa4287bba1f6d4a3af26b5727 /tests/test_ledgers.py | |
| download | workflow-81d4e80fd5aabe4e80f58e960affa795cf7d34ec.tar.gz workflow-81d4e80fd5aabe4e80f58e960affa795cf7d34ec.zip | |
workflow: initial public history
Diffstat (limited to 'tests/test_ledgers.py')
| -rw-r--r-- | tests/test_ledgers.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_ledgers.py b/tests/test_ledgers.py new file mode 100644 index 0000000..1a1add1 --- /dev/null +++ b/tests/test_ledgers.py @@ -0,0 +1,26 @@ +import sys +import unittest +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) +from wflib import ledgers as L + +PLAN = "# P\n**Goal:** g\n### Task 1: A\nx\n### Task 2: B\n### Task 3: C\n" + + +class SummaryTest(unittest.TestCase): + def test_resumes_at_first_task_without_complete_line(self): + ledger = "# SDD ledger — plan: p.md\nTask 1: complete (x)\nTask 2: Ruling: y\nTask 2: complete (z)\n" + self.assertEqual(L.summary(PLAN, ledger), "done 1, 2; resume at Task 3 (task-start PLAN 3)") + + def test_ruling_line_is_not_completion(self): + self.assertEqual(L.summary(PLAN, "Task 1: Ruling: complete rewrite\n"), + "done none; resume at Task 1 (task-start PLAN 1)") + + def test_all_done_reports_last_final_review_line(self): + ledger = "Task 1: complete\nTask 2: complete\nTask 3: complete\nFinal review: running\nFinal review: clean\n" + self.assertEqual(L.summary(PLAN, ledger), "done 1, 2, 3; all tasks done; Final review: clean") + + +if __name__ == "__main__": + unittest.main() |
