from pathlib import Path from composer_ans.classical_rules import ClassicalInstructor THES = Path(__file__).resolve().parents[1] / "THES" def test_classical_instructor_matches_legacy_suffix_behavior() -> None: instructor = ClassicalInstructor.from_sequence_file(THES / "SEQUENCE.DAT") assert instructor([0, 0, 1, 5, 4]) == 1 assert instructor([0, 1, 4, 5, 1]) == 1 assert instructor([1, 2, 3, 4, 5]) == 0 def test_classical_instructor_loads_all_sequences() -> None: instructor = ClassicalInstructor.from_sequence_file(THES / "SEQUENCE.DAT") assert len(instructor.sequences) == 14 assert instructor.sequences[:3] == ("154", "145", "15")