diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 37 | ||||
| -rw-r--r-- | test/test_lectionary.ml | 2 |
2 files changed, 38 insertions, 1 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index 31ae046..eb83c0e 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -719,6 +719,32 @@ let year_of_date date = int_of_string (String.sub date 0 4) and citation shape are similar. *) let holy_name_sunday_slug = "ef-holy-name-sunday" +(* C35 -- movable-date-specs follow-up (2026-08-17); this is test_oracle.ml's + own M26 shape 2(a), now FIXED rather than allow-listed there. + + RG 299 (scan1.txt:1096-1098) is the general ferial rule: "In reliquis + feriis dicitur Missa dominicae praecedentis, NISI A RUBRICIS ALITER + PROVISUM SIT", restated in the propers (scan1.txt:4933-4935) as "...nisi + propria Missa assignetur". The Missal DOES assign one for this week: it + prints "Missa dominicae I post Pentecosten" (heading, scan1.txt:21758) + immediately after Trinity Sunday's Mass, precisely because Trinity has + taken that Sunday's own -- 1 Ioann. 4, 8-21 (scan1.txt:21801-21802) / + Luc. 6, 36-42 (scan1.txt:21813-21814). + + colitur now resolves these ferias at step 2 from that formula. lectio walks + back to Trinity Sunday's Mass instead (Rom 11:33-36 / Matt 28:18-20) -- + which is exactly what colitur did until this fix. Verdict colitur, on the + Missal's own printed heading. + + No Thursday: Corpus Christi is Easter+60, which IS the Thursday of this + week every year, so that ferial slug never exists at all -- found by the + bootstrap's own reachability guard, which refuses to emit a key no + Temporal_ef slug can ever match. *) +let trinity_week_slugs = + [ "ef-time-after-pentecost-1-monday"; "ef-time-after-pentecost-1-tuesday"; + "ef-time-after-pentecost-1-wednesday"; "ef-time-after-pentecost-1-friday"; + "ef-time-after-pentecost-1-saturday" ] + let christmas_1_weekday_slugs = List.map (fun wd -> "ef-christmas-1-" ^ wd) [ "monday"; "tuesday"; "wednesday"; "thursday"; "friday" ] @@ -1141,6 +1167,17 @@ let layer_c_reason (l : row) (c : row) diffs = (Saturday stays C25's own, narrowed note above explains why). *) diffs = [ First_f; Gospel_f ] && List.mem c.slug christmas_1_weekday_slugs then Some "C30" + (* [Colour_f] is admitted only on the Saturday of this week, and only + alongside the citation difference: that day is ALSO an unoccupied + IV-class Saturday, so RG 78's votive Office of the BVM makes colitur + white where lectio (which builds no such office) is green -- C17's own + shape, landing on the same day as this one. [First_f] is REQUIRED, so a + colour-only Saturday still falls to C17 and cannot be absorbed here. *) + else if + List.mem c.slug trinity_week_slugs + && subset diffs [ First_f; Gospel_f; Colour_f ] + && List.mem First_f diffs + then Some "C35" else if (* C31 -- Task 9: the SAME rubric's own next sentence, "diebus ferialibus a 7 ad 12 ianuarii ante dominicam I post Epiphaniam... diff --git a/test/test_lectionary.ml b/test/test_lectionary.ml index 1f8ed75..7dbb253 100644 --- a/test/test_lectionary.ml +++ b/test/test_lectionary.ml @@ -116,7 +116,7 @@ let test_ef_data_file_loads () = 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 + Alcotest.(check int) "entry count" 153 (List.length (Lectionary.entries l)); (match Lectionary.find l (slug "ef-lent-1-monday") with | Some [ a; b ] -> |
