aboutsummaryrefslogtreecommitdiff
path: root/internal/calendar/temporal_ef_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/calendar/temporal_ef_test.go')
-rw-r--r--internal/calendar/temporal_ef_test.go23
1 files changed, 20 insertions, 3 deletions
diff --git a/internal/calendar/temporal_ef_test.go b/internal/calendar/temporal_ef_test.go
index 8b1ffa5..db6e6aa 100644
--- a/internal/calendar/temporal_ef_test.go
+++ b/internal/calendar/temporal_ef_test.go
@@ -98,17 +98,34 @@ func TestTemporalEFRoseSundays(t *testing.T) {
// Passiontide's violet. Good Friday and Holy Saturday, either side, stay
// violet (their own black/no-colour exceptions are a separate, unmodelled
// gap -- see RG 132, precedence_ef.go's own doc comments).
-func TestTemporalEFHolyThursdayColour(t *testing.T) {
+// TestTemporalEFTriduumColours pins all three days of the Sacred Triduum,
+// which take three different colours for three different reasons.
+//
+// Renamed from TestTemporalEFHolyThursdayColour, which asserted Good Friday
+// was violet "(unchanged)" -- encoding a gap this file's own comment used to
+// call "separate, unmodelled". It is modelled now, so the test that pinned
+// the gap had to move with it. A test asserting the absence of a feature
+// passes for exactly as long as the feature is absent, which is not the same
+// as being correct.
+func TestTemporalEFTriduumColours(t *testing.T) {
easter := d("2025-04-20")
holyThu := easter.AddDate(0, 0, -3)
goodFri := easter.AddDate(0, 0, -2)
holySat := easter.AddDate(0, 0, -1)
+ // RG 128(b)'s named exception list, and RG 122 affirmatively.
if got := temporalEF(holyThu).Cel.Colour; got != White {
t.Errorf("Holy Thursday colour = %s, want white", got)
}
- if got := temporalEF(goodFri).Cel.Colour; got != Violet {
- t.Errorf("Good Friday colour = %s, want violet (unchanged)", got)
+ // RG 128(b) excepts the day from Passiontide's violet; RG 132 assigns
+ // black. missalemeum's own colour set for the day is "bv", black first.
+ if got := temporalEF(goodFri).Cel.Colour; got != Black {
+ t.Errorf("Good Friday colour = %s, want black (RG 128(b) + RG 132)", got)
}
+ // Holy Saturday IS still violet: RG 128(b)'s exception for it covers only
+ // the deacon at the Easter Preconium and the celebrant at the renewal of
+ // baptismal promises, not the day, and this model carries one colour per
+ // day. Asserted in the other direction on purpose, so a careless "the
+ // whole Triduum is black" change fails here.
if got := temporalEF(holySat).Cel.Colour; got != Violet {
t.Errorf("Holy Saturday colour = %s, want violet (unchanged)", got)
}