diff options
Diffstat (limited to 'test/test_golden.ml')
| -rw-r--r-- | test/test_golden.ml | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index e9b3ec5..a073c52 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -1281,6 +1281,40 @@ let test_readings_displaced_sunday_feria_known_divergent () = 2026 10 26 "2026-10-26 slug=ef-time-after-pentecost-22-monday first=Col 1:12-20. gospel=John 18:33-37" + +(* ---- Rogation Wednesday (RG 87/88/89), movable-date-specs task ---- + + RG 87, verbatim (scan1.txt:691): "Litaniae minores seu Rogationes, per se, + assignantur feriis II, III et IV ante festum Ascensionis Domini" -- Monday, + Tuesday AND Wednesday. colitur built the first two as temporal offices from + the start; the Wednesday had no channel at all until Date_spec grew + [Easter_offset], because Easter+38 IS the Ascension Vigil by construction + and there is no (month, day) a Fixed spec could anchor to. + + RG 88 keeps it out of the Office entirely, so the Vigil remains the + observed day and this is only ever a commemoration. RG 89 routes it through + the Major Litanies' rules -- but RG 109's closed list of privileged + commemorations names only "de Litaniis MAIORIBUS", never minoribus, so by + RG 107's closing rule it is ORDINARY. That asymmetry is the whole point of + pinning two years rather than one: + + 2024 -- nothing else competes, so the single commemoration RG 111 allows on + a II-class day is the Rogation itself. + 2026 -- St Robert Bellarmine (III class) is impeded onto the same day and + takes that one slot instead: RG 113 orders admissions by RG 91's table, and + a Commemoration_only candidate has no row in it at all (band returns + [unclassified]), so a genuine feast outranks it. + + Both weekdays independently checked with `date -d`. *) +let test_rogation_wednesday_admitted_2024 () = + check ~msg:"2024: Rogation Wednesday is the one admitted commemoration" 2024 5 8 + "2024-05-08 wednesday season=paschaltide week=6 slug=ef-ascension-vigil rank=class-2 colour=white subject=temporal name_la=- comms=[rogation-wednesday:ordinary] in=- out=[]" + +let test_rogation_wednesday_yields_to_a_feast_2026 () = + check ~msg:"2026: an impeded III-class feast takes the single slot instead" 2026 5 13 + "2026-05-13 wednesday season=paschaltide week=6 slug=ef-ascension-vigil rank=class-2 colour=white \ + subject=temporal name_la=- comms=[robert-bellarmine:ordinary] in=- out=[]" + let suite = ( "golden pins (known-tricky years)", [ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick @@ -1371,5 +1405,9 @@ let suite = test_readings_step4_common_frances; Alcotest.test_case "readings: displaced-Sunday feria pins M26 shape 2(b)'s KNOWN-WRONG walkback (2026-10-26)" `Quick - test_readings_displaced_sunday_feria_known_divergent + test_readings_displaced_sunday_feria_known_divergent; + Alcotest.test_case "RG87: Rogation Wednesday admitted (2024)" `Quick + test_rogation_wednesday_admitted_2024; + Alcotest.test_case "RG87/113: Rogation Wednesday yields to an impeded feast (2026)" `Quick + test_rogation_wednesday_yields_to_a_feast_2026 ] ) |
