aboutsummaryrefslogtreecommitdiff
path: root/test/test_differential.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_differential.ml')
-rw-r--r--test/test_differential.ml21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml
index 94adb2c..bea1bf4 100644
--- a/test/test_differential.ml
+++ b/test/test_differential.ml
@@ -500,6 +500,22 @@ let joseph_annunciation_collision_dates_2005_2050 = [ "2008-04-01"; "2035-04-03"
let holy_family_baptism_collision_dates_2005_2050 =
[ "2008-01-13"; "2013-01-13"; "2019-01-13"; "2030-01-13"; "2036-01-13"; "2041-01-13"; "2047-01-13" ]
+(* C16 -- ef-holyname-rg110 task: RG 17(a)'s own fallback (2 January, "secus
+ die 2 ianuarii"), for every civil year 2005-2050 with no Sunday 2-5
+ January -- independently re-derived against `date -d <year>-01-0{2..5}
+ +%u`, not transcribed from the register's domain-wide figure (see
+ data/ef/expected-divergences.sexp's own C16 note for the full citation
+ and the derivation). lectio has no equivalent fallback at all (checked
+ directly against tridentine-calendar.ini, which carries no 01-02 entry),
+ so it shows the plain Christmastide ferial slug on every one of these
+ dates, class-4 -- colitur's own `ef-holy-name`, class-2, is a genuine
+ [Slug_f; Rank] divergence, not a naming synonym Layer A could absorb. *)
+let holy_name_fallback_dates_2005_2050 =
+ [ "2006-01-02"; "2007-01-02"; "2008-01-02"; "2012-01-02"; "2013-01-02"; "2017-01-02";
+ "2018-01-02"; "2019-01-02"; "2023-01-02"; "2024-01-02"; "2029-01-02"; "2030-01-02";
+ "2034-01-02"; "2035-01-02"; "2036-01-02"; "2040-01-02"; "2041-01-02"; "2045-01-02";
+ "2046-01-02"; "2047-01-02" ]
+
(* [layer_c_reason l c diffs] returns the [data/ef/expected-divergences.sexp]
[id] this row-pair's remaining (post Layer A/B) diff set belongs to, or
[None] if nothing here explains it (a genuine, uncovered failure). *)
@@ -550,6 +566,11 @@ let layer_c_reason (l : row) (c : row) diffs =
&& subset diffs [ Season; Slug_f ]
&& String.equal c.slug "ef-time-after-epiphany-sunday-1"
then Some "C15"
+ else if
+ List.mem l.date holy_name_fallback_dates_2005_2050
+ && subset diffs [ Slug_f; Rank ]
+ && String.equal c.slug "ef-holy-name"
+ then Some "C16"
else None
(* ---------------------------------------------------------------------- *)