aboutsummaryrefslogtreecommitdiff
path: root/test/test_rite_ef.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_rite_ef.ml')
-rw-r--r--test/test_rite_ef.ml40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/test_rite_ef.ml b/test/test_rite_ef.ml
index c150a6d..ad9057b 100644
--- a/test/test_rite_ef.ml
+++ b/test/test_rite_ef.ml
@@ -87,6 +87,44 @@ let test_vigil_of_christmas_suppressed () =
Alcotest.(check bool) "vigil-of-christmas appears NOWHERE in the resolved year" false
appears_anywhere
+(* RG16(a) task (register ยง6.0 + the sanctoral subject audit, this task's
+ own report): data/ef/sanctoral.sexp is left untouched (still a faithful
+ mirror of lectio, subject `Lord` for both entries below -- see
+ test_sanctoral_ef.ml's own "explicit class = lord" spot-check, which
+ loads that file WITHOUT applying this overlay and still passes); the
+ correction lives entirely in data/ef/adjustments.sexp's two [Edit]
+ directives, the same mechanism [test_vigil_of_christmas_suppressed]
+ above already proves for a sibling bootstrap defect. This is the ONE
+ test in the suite that observes the two retags actually take effect
+ through the real pipeline -- without it, a typo in either directive's
+ slug (silently a no-op diagnostic, not a hard failure -- Overlay.apply's
+ own contract) or a reverted adjustments.sexp would leave every other
+ test green (2 February isn't a Sunday in any golden-pinned year, and
+ [test_sanctoral_ef.ml] deliberately never applies the overlay). Also
+ re-verifies the four entries the audit confirmed correct and left
+ untouched, so a future accidental retag of one of THEM would be caught
+ here too, not just the two that changed. *)
+let test_rg16a_subject_retag_in_effect () =
+ let layer = real_layer () in
+ let subject_of slug =
+ match Layer.find layer (Slug.of_string_exn slug) with
+ | Some e -> e.Layer.cel.Cel.subject
+ | None -> Alcotest.failf "slug %s not found in the overlaid layer" slug
+ in
+ Alcotest.(check bool) "Purification retagged Bvm (calendarium: \"B. MARIAE VIRG.\")" true
+ (subject_of "purification-of-the-blessed-virgin-mary" = Subject.Bvm);
+ Alcotest.(check bool) "Most Holy Name of Mary retagged Bvm (calendarium: \"Nominis Mariae\")" true
+ (subject_of "most-holy-name-of-mary" = Subject.Bvm);
+ Alcotest.(check bool) "Precious Blood stays Lord (calendarium: \"D. N. I. C.\") -- audit, not touched" true
+ (subject_of "precious-blood-of-our-lord-jesus-christ" = Subject.Lord);
+ Alcotest.(check bool) "Transfiguration stays Lord (calendarium: \"D. N. I. C.\") -- audit, not touched" true
+ (subject_of "transfiguration-of-our-lord" = Subject.Lord);
+ Alcotest.(check bool) "Exaltation of the Holy Cross stays Lord -- audit, not touched" true
+ (subject_of "exaltation-of-the-holy-cross" = Subject.Lord);
+ Alcotest.(check bool)
+ "Dedication of the Archbasilica of the Most Holy Saviour stays Lord -- audit, not touched" true
+ (subject_of "dedication-of-the-archbasilica-of-our-holy-savior" = Subject.Lord)
+
(* Coordinator review, finding 2, reproduced through the project's OWN
extension path (an overlay), the same way the reviewer found it: adding
an I-class feast on 25 December (competing against, and losing to, the
@@ -255,6 +293,8 @@ let suite =
( "Rite_ef (real data: overlay-in-effect, domain-ceiling)",
[ Alcotest.test_case "the overlay suppression is observably in effect" `Quick
test_vigil_of_christmas_suppressed;
+ Alcotest.test_case "RG16(a) task: the two subject retags are in effect, the other four untouched"
+ `Quick test_rg16a_subject_retag_in_effect;
Alcotest.test_case "RG96 search does not raise at the domain ceiling (real data)" `Quick
test_transfer_search_does_not_raise_at_domain_ceiling;
Alcotest.test_case "no transfer ever lands inside [Easter, Easter+7], 2005-2050" `Quick