diff options
Diffstat (limited to 'test/test_lectionary.ml')
| -rw-r--r-- | test/test_lectionary.ml | 93 |
1 files changed, 69 insertions, 24 deletions
diff --git a/test/test_lectionary.ml b/test/test_lectionary.ml index 3fbf8c5..a6ca334 100644 --- a/test/test_lectionary.ml +++ b/test/test_lectionary.ml @@ -85,30 +85,38 @@ let test_ef_data_file_loads () = own Temporal_ef vocabulary, PLUS hand-authored/derived entries (tools/bootstrap_lectionary.ml's own [colitur_keys]/ [vigil_entries]/[holy_week_entries]/[passion_tuesday_entry]/ - [nativity_octave_entries]/[derived_entries] comments have the full - account, task 8, branch ef-lectionary, fix rounds 1-2): - "ef-christmas-sunday-0" widens into itself PLUS "ef-holy-name- - sunday" (+1); the three Lent Ember sections rename 1:1 (no count - change); "ef-passiontide-0-tuesday" is EXCLUDED (fix round 2, + [nativity_octave_entries]/[holy_name_entries]/ + [epiphanytide_opening_entries]/[movable_feast_entries] comments + have the full account, task 8 (branch ef-lectionary, fix rounds + 1-2) then Task 9 (same branch, layer-4 oracle) below): + "ef-passiontide-0-tuesday" is EXCLUDED (task 8 fix round 2, Important -- it is Holy Tuesday's data, not Passion Tuesday's, -1); the other five Passiontide sections rename 1:1 (no count - change); one hand-authored entry sourced from lectio's SANCTORAL - calendar, not this lectionary ini ([ef-nativity-vigil], +1); SIX - hand-authored directly from the Missal, all of Holy Week (+6, - fix round 2 -- Wednesday and Friday added, the first pass's - Critical bug); ONE hand-authored directly from the Missal, - Passion Tuesday's own real citation (+1, fix round 2); three - hand-authored directly from the Missal, the fixed Nativity-Octave - days (+3); one entry derived from an already-translated one - rather than re-typed ([ef-holy-name], +1); two ini sections - EXCLUDED, fix round 3 -- "ef-advent-ember-sat"/ - "ef-september-ember-sat" carried a saint's Mass verbatim (Thomas - the Apostle's/Matthew's, the C26 shape), not the real Ember - Saturday (-2); two hand-authored directly from the Missal - replacing them, [ember_saturday_corrections] (+2, net 0 against - the -2 immediately above). - 119 + 1 - 1 + 1 + 6 + 1 + 3 + 1 - 2 + 2 = 131. *) - Alcotest.(check int) "entry count" 131 + change); the three Lent Ember sections rename 1:1 (no count + change); "ef-advent-ember-sat"/"ef-september-ember-sat" are + EXCLUDED, task 8 fix round 3 (Important -- Thomas the Apostle's/ + Matthew's Mass verbatim, not the real Ember Saturday, -2); + 119 - 1 - 2 = 116 real ini-translated entries. PLUS: one + hand-authored entry sourced from lectio's SANCTORAL calendar, not + this lectionary ini ([ef-nativity-vigil], +1); SIX hand-authored + directly from the Missal, all of Holy Week ([holy_week_entries], + +6); ONE hand-authored directly from the Missal, Passion + Tuesday's own real citation ([passion_tuesday_entry], +1); TWO + hand-authored directly from the Missal, replacing the two + excluded Ember Saturdays above ([ember_saturday_corrections], + +2); three hand-authored directly from the Missal, the fixed + Nativity-Octave days ([nativity_octave_entries], +3). + Task 9 (branch ef-lectionary, layer-4 oracle -- CORRECTED, + [ef-holy-name-sunday]/[ef-holy-name] no longer widened/derived + from "ef-christmas-sunday-0", see [colitur_keys]'s own + CORRECTED note): TWO hand-authored directly from the Missal + ([holy_name_entries], +2); FIFTEEN hand-authored directly from + the Missal, three 5-weekday families + ([epiphanytide_opening_entries], +15); TWO hand-authored + directly from the Missal, two major movable feasts with + previously no entry at all ([movable_feast_entries], +2). + 116 + 1 + 6 + 1 + 2 + 3 + 2 + 15 + 2 = 148. *) + Alcotest.(check int) "entry count" 148 (List.length (Lectionary.entries l)); (match Lectionary.find l (slug "ef-lent-1-monday") with | Some [ a; b ] -> @@ -128,9 +136,46 @@ let test_ef_data_file_loads () = | Some _ -> Alcotest.fail (name ^ ": expected exactly two citations") | None -> Alcotest.fail (name ^ ": missing") in - check_entry "ef-holy-name-sunday" "Gal 4:1-7" "Luke 2:33-40"; + (* Task 9 (branch ef-lectionary, layer-4 oracle): CORRECTED -- + [ef-holy-name-sunday]/[ef-holy-name] used to be pinned here at + "Gal 4:1-7"/"Luke 2:33-40", the Sunday-within-the-Octave's own + citation this generator used to (wrongly) borrow by analogy. + missalemeum's own independent extraction (2026-01-04/2027-01-03, + real Holy Name Sundays) disproved it; the Missal itself confirms + the real value, both scans (scan1.txt:6579-6608, + scan2.txt:7225-7297, "SANCTISSIMI NOMINIS IESU... Act. 4, 8-12... + Luc. 2, 21") -- see [colitur_keys]'s own CORRECTED note in + bootstrap_lectionary.ml for the full account. *) + check_entry "ef-holy-name-sunday" "Acts 4:8-12" "Luke 2:21"; check_entry "ef-christmas-sunday-0" "Gal 4:1-7" "Luke 2:33-40"; - check_entry "ef-holy-name" "Gal 4:1-7" "Luke 2:33-40"; + check_entry "ef-holy-name" "Acts 4:8-12" "Luke 2:21"; + (* Task 9: RG 17(a)'s own "diebus ferialibus" rubric (2-13 January, + three 5-weekday families -- bootstrap_lectionary.ml's own + [epiphanytide_opening_entries] comment has the full citations and + the RG 78/BVM-Saturday reasoning for why Saturday is excluded from + all three). One weekday pinned per family (a regression net, not + an exhaustive per-weekday audit -- the generator's own + [assert_reachable] already guards every emitted key is a real + Temporal_ef slug). *) + check_entry "ef-christmas-1-monday" "Titus 2:11-15" "Luke 2:21"; + check_entry "ef-christmas-1-friday" "Titus 2:11-15" "Luke 2:21"; + check_entry "ef-christmas-2-tuesday" "Isa 60:1-6" "Matt 2:1-12"; + check_entry "ef-christmas-2-monday" "Isa 60:1-6" "Matt 2:1-12"; + check_entry "ef-time-after-epiphany-1-wednesday" "Rom 12:1-5" "Luke 2:42-52"; + let must_stay_absent name = + match Lectionary.find l (slug name) with + | None -> () + | Some _ -> Alcotest.fail (name ^ ": must stay absent -- RG 78's BVM Saturday Office") + in + must_stay_absent "ef-christmas-1-saturday"; + must_stay_absent "ef-christmas-2-saturday"; + must_stay_absent "ef-time-after-epiphany-1-saturday"; + (* Task 9: two major, permanently-named I-class movable feasts with + no entry at all before this task (bootstrap_lectionary.ml's own + [movable_feast_entries] comment has the full citations, both + scans). *) + check_entry "ef-corpus-christi" "1 Cor 11:23-29" "John 6:56-59"; + check_entry "ef-sacred-heart" "Eph 3:8-12, 14-19" "John 19:31-37"; check_entry "ef-nativity-vigil" "Rom 1:1-6" "Matt 1:18-21"; check_entry "ef-pentecost-ember-wed" "Acts 5:12-16" "John 6:44-52."; check_entry "ef-pentecost-ember-fri" "Joel 2:23-24; 26-27" "Luke 5:17-26"; |
