diff options
Diffstat (limited to 'internal/calendar/temporal_ef_test.go')
| -rw-r--r-- | internal/calendar/temporal_ef_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/calendar/temporal_ef_test.go b/internal/calendar/temporal_ef_test.go index 1290a59..e8ef391 100644 --- a/internal/calendar/temporal_ef_test.go +++ b/internal/calendar/temporal_ef_test.go @@ -300,3 +300,37 @@ func TestTemporalEFBVMSaturday(t *testing.T) { } } } + +// TestTemporalEFRogationDays pins RG 87's Minor Litanies: "Litaniae minores seu +// Rogationes, per se, assignantur feriis II, III et IV ante festum Ascensionis +// Domini." Easter+36 and +37 are that Monday and Tuesday; RG 128(d) makes them +// violet, "for the procession and Mass of the Greater and Lesser Litanies" -- +// a penitential note inside white Paschaltide. +// +// The Wednesday is asserted in the opposite direction on purpose. Easter+38 is +// by construction the Vigil of the Ascension, II class, which wins the day; the +// rubric asks for a COMMEMORATION there, which this function cannot express +// since it returns one office per day. A change that extended the Rogation +// branch to +38 to "complete" the rubric would silently displace the Vigil, and +// this test is what stops it. +func TestTemporalEFRogationDays(t *testing.T) { + // 2027: Easter is 28 March, so the Rogation days are 3-5 May and the + // Monday is unimpeded that year. + easter := d("2027-03-28") + for off, want := range map[int]string{36: "ef-rogation-monday", 37: "ef-rogation-tuesday"} { + day := easter.AddDate(0, 0, off) + got := temporalEF(day) + if got.Cel.Slug != want { + t.Errorf("Easter+%d (%s): slug = %q, want %q", off, day.Format("2006-01-02"), got.Cel.Slug, want) + } + if got.Cel.Colour != Violet { + t.Errorf("Easter+%d (%s): colour = %s, want violet (RG 128(d))", + off, day.Format("2006-01-02"), got.Cel.Colour) + } + } + // Easter+38 is the Ascension's Vigil and must stay so. + if got := temporalEF(easter.AddDate(0, 0, 38)); got.Cel.Slug != "ef-ascension-vigil" { + t.Errorf("Easter+38: slug = %q, want ef-ascension-vigil -- the Rogation Wednesday's "+ + "commemoration cannot be built here without displacing the Vigil", got.Cel.Slug) + } +} |
