summaryrefslogtreecommitdiff
path: root/test/test_temporal_ef.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_temporal_ef.ml')
-rw-r--r--test/test_temporal_ef.ml43
1 files changed, 40 insertions, 3 deletions
diff --git a/test/test_temporal_ef.ml b/test/test_temporal_ef.ml
index eb672d9..1353c43 100644
--- a/test/test_temporal_ef.ml
+++ b/test/test_temporal_ef.ml
@@ -54,12 +54,49 @@ let test_seasons () =
Alcotest.(check string) "Sat after Pentecost 30 May 2026" "paschaltide" (season_str (d 2026 5 30));
Alcotest.(check string) "Trinity 31 May 2026" "time-after-pentecost" (season_str (d 2026 5 31))
-let suite_extra_seasons =
+let named_slug dt = match T.named dt with
+ | Some (_, slug, _, _, _) -> slug
+ | None -> "<none>"
+
+let test_named_feasts () =
+ (* Easter 2026 = 5 April. *)
+ Alcotest.(check string) "nativity" "ef-nativity" (named_slug (d 2026 12 25));
+ Alcotest.(check string) "nativity vigil" "ef-nativity-vigil" (named_slug (d 2026 12 24));
+ Alcotest.(check string) "circumcision" "ef-circumcision" (named_slug (d 2026 1 1));
+ Alcotest.(check string) "epiphany" "ef-epiphany" (named_slug (d 2026 1 6));
+ Alcotest.(check string) "ash wednesday" "ef-ash-wednesday" (named_slug (d 2026 2 18));
+ Alcotest.(check string) "passion sunday" "ef-passion-sunday" (named_slug (d 2026 3 22));
+ Alcotest.(check string) "palm sunday" "ef-palm-sunday" (named_slug (d 2026 3 29));
+ Alcotest.(check string) "easter" "ef-easter-sunday" (named_slug (d 2026 4 5));
+ Alcotest.(check string) "low sunday" "ef-low-sunday" (named_slug (d 2026 4 12));
+ Alcotest.(check string) "ascension vigil" "ef-ascension-vigil" (named_slug (d 2026 5 13));
+ Alcotest.(check string) "ascension" "ef-ascension" (named_slug (d 2026 5 14));
+ Alcotest.(check string) "pentecost vigil" "ef-pentecost-vigil" (named_slug (d 2026 5 23));
+ Alcotest.(check string) "pentecost" "ef-pentecost" (named_slug (d 2026 5 24));
+ Alcotest.(check string) "trinity" "ef-trinity" (named_slug (d 2026 5 31));
+ Alcotest.(check string) "corpus christi" "ef-corpus-christi" (named_slug (d 2026 6 4));
+ Alcotest.(check string) "sacred heart" "ef-sacred-heart" (named_slug (d 2026 6 12));
+ Alcotest.(check string) "an ordinary day is not named" "<none>" (named_slug (d 2026 7 15))
+
+let test_christ_the_king () =
+ (* 1960 calendar: the LAST Sunday of October, not the OF's last before Advent. *)
+ Alcotest.(check string) "2026" "2026-10-25" (D.to_iso8601 (T.christ_the_king 2026));
+ Alcotest.(check bool) "always a Sunday" true (D.weekday (T.christ_the_king 2026) = D.Sun);
+ Alcotest.(check string) "slug" "ef-christ-the-king" (named_slug (T.christ_the_king 2026))
+
+let test_nativity_octave () =
+ Alcotest.(check string) "29 Dec" "ef-nativity-octave-day-5" (named_slug (d 2026 12 29));
+ Alcotest.(check string) "31 Dec" "ef-nativity-octave-day-7" (named_slug (d 2026 12 31))
+
+let suite_extra =
[ Alcotest.test_case "advent start" `Quick test_advent_start;
- Alcotest.test_case "seasons" `Quick test_seasons ]
+ Alcotest.test_case "seasons" `Quick test_seasons;
+ Alcotest.test_case "named feasts" `Quick test_named_feasts;
+ Alcotest.test_case "christ the king" `Quick test_christ_the_king;
+ Alcotest.test_case "nativity octave" `Quick test_nativity_octave ]
let suite =
( "Rite_ef",
[ Alcotest.test_case "vocab roundtrips" `Quick test_vocab_roundtrips;
Alcotest.test_case "slug words" `Quick test_slug_words ]
- @ suite_extra_seasons )
+ @ suite_extra )