diff options
Diffstat (limited to 'test/test_golden.ml')
| -rw-r--r-- | test/test_golden.ml | 107 |
1 files changed, 106 insertions, 1 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index 945abe5..fb3cff4 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -482,6 +482,104 @@ 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. + + CORRECTED, fix round 1 (IMPORTANT finding, item 2): this pin used to + expect Pope Sixtus II et al. (6 August's own unrelated Class3 saint, + Commemoration_only) admitted as an ordinary commemoration in the freed + slot -- promoted from `colitur day`'s own actual output without + consulting either the primary text or the oracle first (the exact + vacuous-pin flavour the review caught, and this file's own header warns + against). Re-derived properly this time: + - PRIMARY TEXT: RG 16(a) itself says the winning Feast of the Lord holds + the Sunday's place cum omnibus iuribus et privilegiis -- WITH ALL the + Sunday's own rights and privileges. RG 111(b) is one of those: in + dominicis II classis, una tantum admittitur commemoratio, SCILICET DE + FESTO II CLASSIS -- a Sunday's own slot is reserved for a Class2 + candidate specifically. The day is still a dominica II classis for + this purpose even though the Transfiguration, not the Sunday, is + [observed] -- so Sixtus (Class3) has no standing for the slot at all, + the same as on any other II-class Sunday (contrast + [test_ii_class_sunday_admits_only_ii_class_commemoration] above, + romanus, Class3, excluded the identical way on an ORDINARY II-class + Sunday). + - ORACLE, independently fetched (missalemeum's own /api/v5/calendar + JSON, not the small-model webpage summary, which proved unreliable for + this exact question): 2023-08-06 (a Sunday) -- title Transfiguration of + Our Lord, commemorations empty, displaced Pope Sixtus II, Felicissimus + and Agapitus, Martyrs -- Sixtus displaced, not commemorated. Control, + 2026-08-06 (a Thursday, no Sunday collision) -- Sixtus present in + commemorations. Being a Sunday is exactly what excludes him. + + 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. *) +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; NO commemoration at all -- RG16(a)'s own \"cum omnibus iuribus \ + et privilegiis\" keeps the day a dominica II classis for RG111(b), so Sixtus (Class3) has no standing \ + either, oracle-confirmed" + "2028-08-06 sunday season=time-after-pentecost week=9 slug=transfiguration-of-our-lord rank=class-2 \ + colour=white comms=[] in=- out=[]" + (describe d) + +(* 2025-02-02, the other real instance of the SAME pattern -- not a + contrasting second direction, per this task's fix round 1 (CRITICAL + finding, item 1, reverted; see register §6.0 for the full account). + + The Purification (2 Feb, calendarium "IN PURIFICATIONE B. MARIAE VIRG.") + stays [subject = Lord] -- the user has ruled: follow the oracle. + missalemeum treats it exactly as RG 16(a)'s own "festum Domini" case + (independently fetched, `/api/v5/calendar` JSON): 2020-02-02 (a Sunday) + -- `{"title":"Purification of the Blessed Virgin Mary","tags":["IV + Sunday after Epiphany"],...,"commemorations":[],"displaced":[]}` -- the + Sunday named only as a TAG (the underlying temporal placement), not + commemorated at all; matches 2014-02-02 exactly. Contrast, the SAME + oracle on an ordinary Marian feast (2019-09-08, the Nativity of the + BVM): `{"title":"XIII Sunday after Pentecost",...,"commemorations": + [{"title":"Nativity of the Blessed Virgin Mary",...}],...}` -- the + Sunday observed, the feast merely commemorated, the OPPOSITE pattern -- + proving missalemeum does not treat every Marian feast this way, only the + Purification specifically. `date -d 2025-02-02 +%A` = Sunday, + independently confirmed. + + Unlike 2028-08-06, no second sanctoral candidate exists on 2 February + (data/ef/sanctoral.sexp has exactly one 2 February entry) -- a genuinely + clean "comms=[]" case, complementing the pair above rather than + duplicating it. *) +let test_purification_on_a_sunday_2025 () = + check + ~msg: + "2025-02-02: the Purification observed (subject Lord, unretagged -- the oracle's own treatment); NO \ + commemoration of the Sunday, oracle-confirmed" + 2025 2 2 + "2025-02-02 sunday season=time-after-epiphany week=4 slug=purification-of-the-blessed-virgin-mary \ + rank=class-2 colour=white comms=[] in=- out=[]" + let suite = ( "golden pins (known-tricky years)", [ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick @@ -507,5 +605,12 @@ 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 at all, not even an \ + unrelated saint's own (2028-08-06, rubric + oracle)" + `Quick test_rg16a_lord_feast_no_sunday_commemoration_2028; + Alcotest.test_case + "RG16(a), the Purification (oracle-ruled): observed outright, the Sunday not commemorated (2025-02-02)" + `Quick test_purification_on_a_sunday_2025 ] ) |
