summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dune2
-rw-r--r--test/test_colitur.ml2
-rw-r--r--test/test_temporal_ef.ml28
3 files changed, 30 insertions, 2 deletions
diff --git a/test/dune b/test/dune
index 34f5888..07a4aae 100644
--- a/test/dune
+++ b/test/dune
@@ -1,6 +1,6 @@
(test
(name test_colitur)
- (libraries colitur_kernel alcotest qcheck qcheck-alcotest sexplib)
+ (libraries colitur_kernel rite_ef alcotest qcheck qcheck-alcotest sexplib)
(preprocess
(pps ppx_sexp_conv)))
diff --git a/test/test_colitur.ml b/test/test_colitur.ml
index 2f5e87a..293e439 100644
--- a/test/test_colitur.ml
+++ b/test/test_colitur.ml
@@ -2,4 +2,4 @@
let () =
Alcotest.run "colitur"
[ Test_date.suite; Test_computus.suite; Test_colour.suite; Test_slug.suite; Test_names.suite;
- Test_overlay.suite ]
+ Test_overlay.suite; Test_temporal_ef.suite ]
diff --git a/test/test_temporal_ef.ml b/test/test_temporal_ef.ml
new file mode 100644
index 0000000..f7851c1
--- /dev/null
+++ b/test/test_temporal_ef.ml
@@ -0,0 +1,28 @@
+module V = Rite_ef.Vocab_ef
+
+let test_vocab_roundtrips () =
+ List.iter
+ (fun s ->
+ Alcotest.(check bool) "season string roundtrip" true
+ (V.season_of_string (V.season_to_string s) = Some s))
+ V.seasons;
+ List.iter
+ (fun r ->
+ Alcotest.(check bool) "rank string roundtrip" true
+ (V.rank_of_string (V.rank_to_string r) = Some r))
+ V.ranks;
+ Alcotest.(check int) "eight seasons" 8 (List.length V.seasons);
+ Alcotest.(check int) "four ranks" 4 (List.length V.ranks)
+
+(* Slug words are lectio's lectionary-key vocabulary, deliberately distinct from
+ the season names (spec ยง4.4, plan correction 2). *)
+let test_slug_words () =
+ Alcotest.(check string) "paschaltide slugs as easter" "easter" (V.season_slug_word V.Paschaltide);
+ Alcotest.(check string) "christmastide slugs as christmas" "christmas"
+ (V.season_slug_word V.Christmastide);
+ Alcotest.(check string) "season name differs" "paschaltide" (V.season_to_string V.Paschaltide)
+
+let suite =
+ ( "Rite_ef",
+ [ Alcotest.test_case "vocab roundtrips" `Quick test_vocab_roundtrips;
+ Alcotest.test_case "slug words" `Quick test_slug_words ] )