diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 13 | ||||
| -rw-r--r-- | test/test_rite_ef.ml | 40 |
2 files changed, 53 insertions, 0 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index a9bdb91..aa75737 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -450,6 +450,19 @@ let layer_c_reason (l : row) (c : row) diffs = && subset diffs [ Slug_f; Rank; Colour_f ] then Some "C10" else if String.equal c.slug "ef-passiontide-2-thursday" && diffs = [ Colour_f ] then Some "C11" + (* RG16(a) task (register §6.0 + the sanctoral subject audit, this task's + own report): 2 February on a Sunday. colitur now observes the Sunday + (data/ef/adjustments.sexp retags the Purification `Bvm`, so it no + longer bands at RG 91 entry 14 -- only a Feast of the LORD does); the + Purification survives as its own commemoration, matching the register's + ruling, just not as [c]'s OBSERVED slug here. lectio still tags it + `class = lord` (unretagged upstream) and so still observes it outright. + Matched on [l.slug] (lectio's side), the only side that can show this + literal now -- colitur's own [c.slug] is whichever Sunday family the + date falls in (time-after-epiphany or Septuagesima), not one fixed + literal, unlike [c7]/[c11]'s single-slug tests above. *) + else if String.equal l.slug "purification-of-the-blessed-virgin-mary" && subset diffs [ Slug_f; Colour_f ] + then Some "C12" else None (* ---------------------------------------------------------------------- *) 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 |
