aboutsummaryrefslogtreecommitdiff
path: root/test/test_golden.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_golden.ml')
-rw-r--r--test/test_golden.ml107
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
] )