diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_golden.ml | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index 945abe5..85a129b 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -482,6 +482,72 @@ let test_ii_class_sunday_admits_only_ii_class_commemoration () = colour=green comms=[] in=- out=[]" (describe d2026) +(* ------------------------------------------------------------------ *) +(* RG 16(a) (register §6.0, Caput III "De Dominicis", primary text quoted in + this task's own report): "festum Domini I aut II classis, in dominica II + classis occurrens, ... de dominica, proinde, nulla fit commemoratio" -- a + Feast of the Lord, I or II class, impeding a II-class Sunday, takes the + Sunday's own place with no commemoration of the Sunday at all, unlike + every OTHER impeded II-class Sunday (RG 109(a)/RG 111(b), the + [test_ii_class_sunday_admits_only_ii_class_commemoration] pin above). + Two real dates, both directions, exactly the pair the task brief asks + for. *) +(* ------------------------------------------------------------------ *) + +(* 2028-08-06: the Transfiguration (6 Aug, II class, calendarium "IN + TRANSFIGURATIONE D. N. I. C.") falls on an ordinary Time-after-Pentecost + Sunday. `date -d 2028-08-06 +%A` = Sunday, independently confirmed. Also + the exact date register §6.0's own reproduction names as a live instance + of the bug this pin closes -- before this fix `colitur day` admitted + "+ef-time-after-pentecost-sunday-9" here. + + Deliberately NOT a bare "comms=[]" pin (this project's own catalogued + vacuity flavour: a count/emptiness assertion that would pass even if + nothing had ever been offered): [omitted_has] first proves the Sunday + really WAS a candidate that reached [disposition] and was actively + excluded, not merely never constructed. And the Sunday is not the day's + ONLY loser -- Pope Sixtus II, Felicissimus and Agapitus (Martyrs, + Commemoration_only, III class, also fixed 6 August, unrelated to the + Sunday) still receive their own ORDINARY commemoration exactly as RG + 111(c)/(d) require: proof that RG 16(a) suppresses the SUNDAY + specifically, not "every commemoration due that day". *) +let test_rg16a_lord_feast_no_sunday_commemoration_2028 () = + let d = fetch 2028 8 6 in + Alcotest.(check bool) + "2028-08-06: the impeded Sunday is in [omitted], proving RG16(a) actively fired (not merely never offered)" + true + (omitted_has d "ef-time-after-pentecost-sunday-9"); + Alcotest.(check string) + "2028-08-06: the Transfiguration observed; the Sunday has NO commemoration (RG16a); an UNRELATED III-class \ + saint the same day still gets its own ordinary one" + "2028-08-06 sunday season=time-after-pentecost week=9 slug=transfiguration-of-our-lord rank=class-2 \ + colour=white comms=[pope-sixtus-ii-felicissimus-and-agapitus-martyrs:ordinary] in=- out=[]" + (describe d) + +(* 2025-02-02: the other direction, and the change that made this task's + two halves inseparable (this task's own report). The Purification (2 + Feb, calendarium "IN PURIFICATIONE B. MARIAE VIRG.") is a feast of the + BLESSED VIRGIN, not of the Lord -- data/ef/adjustments.sexp retags it + [Bvm] (the sanctoral audit, this task's report), so it no longer bands + at RG 91 entry 14 and no longer outranks an occurring II-class Sunday + (entry 16 > entry 15). `date -d 2025-02-02 +%A` = Sunday, independently + confirmed. Register §6.0's own text: "Applying RG 16(a) to today's + [pre-fix] data would then also suppress the Sunday's commemoration + there" -- exactly the wrong outcome the data fix (not RG 16(a) itself) + prevents: with the Purification correctly Bvm, RG 16(a)'s own winner-side + [subject = Lord] conjunct never matches here, so the Sunday is simply the + observed day and the Purification survives as its ordinary commemoration + (RG 109/RG 111(b): a plain II-class candidate on a II-class Sunday, no + privileged rival due). *) +let test_purification_on_a_sunday_2025 () = + check + ~msg: + "2025-02-02: the Sunday observed (Purification retagged Bvm, no longer a Feast of the Lord); the \ + Purification survives as an ordinary commemoration, not suppressed" + 2025 2 2 + "2025-02-02 sunday season=time-after-epiphany week=4 slug=ef-time-after-epiphany-sunday-4 rank=class-2 \ + colour=green comms=[purification-of-the-blessed-virgin-mary:ordinary] in=- out=[]" + let suite = ( "golden pins (known-tricky years)", [ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick @@ -507,5 +573,11 @@ let suite = test_ember_ferias_commemorated_when_impeded; Alcotest.test_case "IV-class ferias never commemorated (2026)" `Quick test_iv_class_ferias_never_commemorated; Alcotest.test_case "RG111(b): a II-class Sunday admits only a de-festo-II-classis commemoration (2009, 2026)" - `Quick test_ii_class_sunday_admits_only_ii_class_commemoration + `Quick test_ii_class_sunday_admits_only_ii_class_commemoration; + Alcotest.test_case "RG16(a): a Feast of the Lord leaves the impeded Sunday with no commemoration (2028-08-06)" + `Quick test_rg16a_lord_feast_no_sunday_commemoration_2028; + Alcotest.test_case + "RG16(a) does not fire for the (corrected) Purification: the Sunday observed, the Purification \ + commemorated (2025-02-02)" + `Quick test_purification_on_a_sunday_2025 ] ) |
