diff options
Diffstat (limited to 'test/test_golden.ml')
| -rw-r--r-- | test/test_golden.ml | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index a873738..188e37f 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -63,6 +63,7 @@ module V = Rite_ef.Vocab_ef runs from _build/default/test/). *) let sanctoral_path = "../data/ef/sanctoral.sexp" let adjustments_path = "../data/ef/adjustments.sexp" +let lectionary_path = "../data/ef/lectionary.sexp" (* Loaded once at module init, same convention test_validate.ml's own [real_ef_layer] uses (not test_oracle.ml/test_differential.ml's @@ -83,12 +84,21 @@ let real_ef_layer = (String.concat "; " (List.map Overlay.diagnostic_to_string diagnostics))); layer) +(* [Rite_ef.context] takes [~lectionary] (fix round 1, coordinator review) -- + caller-supplied, same as [real_ef_layer] above. *) +let real_ef_lectionary = + match Colitur_kernel.Lectionary.load lectionary_path with + | Error e -> failwith (Printf.sprintf "%s: failed to load: %s" lectionary_path e) + | Ok l -> l + +let real_ef_rite = Rite_ef.context ~lectionary:real_ef_lectionary + let mk y m d = match Date.make ~year:y ~month:m ~day:d with Ok t -> t | Error e -> failwith e (* [Cal.day] recomputes its whole liturgical year on every call (calendar.mli -- "pure, no cache"); acceptable here, same as test_rite_ef.ml's own use of [Cal.year] for a handful of dates, not a hot loop. *) -let fetch y m d = Cal.day Rite_ef.context real_ef_layer (mk y m d) +let fetch y m d = Cal.day real_ef_rite real_ef_layer (mk y m d) let slug_s (c : V.rank Cel.t) = Slug.to_string c.Cel.slug let rank_s (c : V.rank Cel.t) = V.rank_to_string c.Cel.rank |
