diff options
Diffstat (limited to 'test/test_rubrics_ef.ml')
| -rw-r--r-- | test/test_rubrics_ef.ml | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/test/test_rubrics_ef.ml b/test/test_rubrics_ef.ml index 6679702..d533670 100644 --- a/test/test_rubrics_ef.ml +++ b/test/test_rubrics_ef.ml @@ -746,6 +746,38 @@ let test_exhaustive_gloria_domain_sweep () = Alcotest.(check bool) "the full domain reached a real number of Requiem days" true (black > 1_000) end +(* ---- ITEM 1: RG 111(a), the sung-Mass commemoration cap + ({!Colitur_kernel.Precedence.sung_mass_commemorations}) -- two real + calendar days, one of each shape, resolved through the identical + [Cal.day] pipeline every other test in this file uses. See + precedence.mli's own citation for the rubric and the reasoning for why + this is a derivation over [LD.commemorations] (the Low-Mass admitted + set), not a second stored field. ---- *) + +module Prec = Colitur_kernel.Precedence + +let sung_slugs y m d = + List.map + (fun (c, _) -> Slug.to_string c.Cel.slug) + (Prec.sung_mass_commemorations (day_on y m d).LD.commemorations) + +let test_rg111a_ordinary_only_dropped () = + (* 2026-08-14: Vigil of the Assumption, commemorating [eusebius-confessor] + ORDINARILY (no privileged category applies) -- confirmed via `colitur + day 2026`. At Low Mass this is admitted (RG 111(c)); at a + non-conventual Sung Mass RG 111(a) admits it not at all. *) + Alcotest.(check (list string)) "RG 111(a): an ordinary-only Low-Mass set is empty at Sung Mass" [] + (sung_slugs 2026 8 14) + +let test_rg111a_privileged_kept () = + (* 2026-04-25: St Mark, commemorating the Major Litanies -- RG 80/109(f), + a PRIVILEGED commemoration (data/ef/adjustments.sexp's own [Add + major-litanies]) -- confirmed via `colitur day 2026`. Kept at BOTH Low + Mass (RG 111(c), one privileged) and Sung Mass (RG 111(a), the same + single privileged commemoration). *) + Alcotest.(check (list string)) "RG 111(a): the one privileged commemoration survives at Sung Mass" + [ "major-litanies" ] (sung_slugs 2026 4 25) + let suite = ( "Rubrics_ef", [ Alcotest.test_case "475(a): ordinary Sunday" `Quick test_475a_ordinary_sunday; @@ -819,4 +851,8 @@ let suite = Alcotest.test_case "domain sanity: every Requiem day has [gloria]=false (sample)" `Quick test_domain_requiem_implies_no_gloria_sample; Alcotest.test_case "domain sweep 1583..9999: violet/Requiem invariants, committed not sampled" - `Slow test_exhaustive_gloria_domain_sweep ] ) + `Slow test_exhaustive_gloria_domain_sweep; + Alcotest.test_case "RG 111(a): an ordinary-only Low-Mass set is empty at Sung Mass" `Quick + test_rg111a_ordinary_only_dropped; + Alcotest.test_case "RG 111(a): a privileged commemoration survives at Sung Mass" `Quick + test_rg111a_privileged_kept ] ) |
