Skip to content

Commit

Permalink
Merge pull request #94 from quite/add-easter-to-aa-and-se
Browse files Browse the repository at this point in the history
Add easter to aa and se
  • Loading branch information
rickar committed Jun 29, 2022
2 parents 1c26507 + a95d35d commit 88bcd41
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 0 deletions.
14 changes: 14 additions & 0 deletions v2/aa/aa_holidays.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ var (
Func: cal.CalcEasterOffset,
}

// Easter represents the day of Easter (Sunday)
Easter = &cal.Holiday{
Name: "Easter",
Offset: 0,
Func: cal.CalcEasterOffset,
}

// EasterMonday represents Easter Monday - the day after Easter
EasterMonday = &cal.Holiday{
Name: "Easter Monday",
Expand All @@ -62,6 +69,13 @@ var (
Func: cal.CalcEasterOffset,
}

// Pentecost represents Pentecoast Sunday on the 49th day after Easter
Pentecost = &cal.Holiday{
Name: "Pentecost",
Offset: 49,
Func: cal.CalcEasterOffset,
}

// PentecostMonday represents Pentecost Monday on the day after Pentecost (50 days after Easter)
PentecostMonday = &cal.Holiday{
Name: "Pentecost Monday",
Expand Down
35 changes: 35 additions & 0 deletions v2/aa/aa_holidays_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ func TestHolidays(t *testing.T) {
{NewYear, 2020, d(2020, 1, 1), d(2020, 1, 1)},
{NewYear, 2021, d(2021, 1, 1), d(2021, 1, 1)},
{NewYear, 2022, d(2022, 1, 1), d(2022, 1, 1)},
{NewYear, 2023, d(2023, 1, 1), d(2023, 1, 1)},

{Epiphany, 2015, d(2015, 1, 6), d(2015, 1, 6)},
{Epiphany, 2016, d(2016, 1, 6), d(2016, 1, 6)},
Expand All @@ -37,6 +38,7 @@ func TestHolidays(t *testing.T) {
{Epiphany, 2020, d(2020, 1, 6), d(2020, 1, 6)},
{Epiphany, 2021, d(2021, 1, 6), d(2021, 1, 6)},
{Epiphany, 2022, d(2022, 1, 6), d(2022, 1, 6)},
{Epiphany, 2023, d(2023, 1, 6), d(2023, 1, 6)},

{MaundyThursday, 2015, d(2015, 4, 2), d(2015, 4, 2)},
{MaundyThursday, 2016, d(2016, 3, 24), d(2016, 3, 24)},
Expand All @@ -46,6 +48,7 @@ func TestHolidays(t *testing.T) {
{MaundyThursday, 2020, d(2020, 4, 9), d(2020, 4, 9)},
{MaundyThursday, 2021, d(2021, 4, 1), d(2021, 4, 1)},
{MaundyThursday, 2022, d(2022, 4, 14), d(2022, 4, 14)},
{MaundyThursday, 2023, d(2023, 4, 6), d(2023, 4, 6)},

{GoodFriday, 2015, d(2015, 4, 3), d(2015, 4, 3)},
{GoodFriday, 2016, d(2016, 3, 25), d(2016, 3, 25)},
Expand All @@ -55,6 +58,17 @@ func TestHolidays(t *testing.T) {
{GoodFriday, 2020, d(2020, 4, 10), d(2020, 4, 10)},
{GoodFriday, 2021, d(2021, 4, 2), d(2021, 4, 2)},
{GoodFriday, 2022, d(2022, 4, 15), d(2022, 4, 15)},
{GoodFriday, 2023, d(2023, 4, 7), d(2023, 4, 7)},

{Easter, 2015, d(2015, 4, 5), d(2015, 4, 5)},
{Easter, 2016, d(2016, 3, 27), d(2016, 3, 27)},
{Easter, 2017, d(2017, 4, 16), d(2017, 4, 16)},
{Easter, 2018, d(2018, 4, 1), d(2018, 4, 1)},
{Easter, 2019, d(2019, 4, 21), d(2019, 4, 21)},
{Easter, 2020, d(2020, 4, 12), d(2020, 4, 12)},
{Easter, 2021, d(2021, 4, 4), d(2021, 4, 4)},
{Easter, 2022, d(2022, 4, 17), d(2022, 4, 17)},
{Easter, 2023, d(2023, 4, 9), d(2023, 4, 9)},

{EasterMonday, 2015, d(2015, 4, 6), d(2015, 4, 6)},
{EasterMonday, 2016, d(2016, 3, 28), d(2016, 3, 28)},
Expand All @@ -64,6 +78,7 @@ func TestHolidays(t *testing.T) {
{EasterMonday, 2020, d(2020, 4, 13), d(2020, 4, 13)},
{EasterMonday, 2021, d(2021, 4, 5), d(2021, 4, 5)},
{EasterMonday, 2022, d(2022, 4, 18), d(2022, 4, 18)},
{EasterMonday, 2023, d(2023, 4, 10), d(2023, 4, 10)},

{WorkersDay, 2015, d(2015, 5, 1), d(2015, 5, 1)},
{WorkersDay, 2016, d(2016, 5, 1), d(2016, 5, 1)},
Expand All @@ -73,6 +88,7 @@ func TestHolidays(t *testing.T) {
{WorkersDay, 2020, d(2020, 5, 1), d(2020, 5, 1)},
{WorkersDay, 2021, d(2021, 5, 1), d(2021, 5, 1)},
{WorkersDay, 2022, d(2022, 5, 1), d(2022, 5, 1)},
{WorkersDay, 2023, d(2023, 5, 1), d(2023, 5, 1)},

{AscensionDay, 2015, d(2015, 5, 14), d(2015, 5, 14)},
{AscensionDay, 2016, d(2016, 5, 5), d(2016, 5, 5)},
Expand All @@ -82,6 +98,17 @@ func TestHolidays(t *testing.T) {
{AscensionDay, 2020, d(2020, 5, 21), d(2020, 5, 21)},
{AscensionDay, 2021, d(2021, 5, 13), d(2021, 5, 13)},
{AscensionDay, 2022, d(2022, 5, 26), d(2022, 5, 26)},
{AscensionDay, 2023, d(2023, 5, 18), d(2023, 5, 18)},

{Pentecost, 2015, d(2015, 5, 24), d(2015, 5, 24)},
{Pentecost, 2016, d(2016, 5, 15), d(2016, 5, 15)},
{Pentecost, 2017, d(2017, 6, 4), d(2017, 6, 4)},
{Pentecost, 2018, d(2018, 5, 20), d(2018, 5, 20)},
{Pentecost, 2019, d(2019, 6, 9), d(2019, 6, 9)},
{Pentecost, 2020, d(2020, 5, 31), d(2020, 5, 31)},
{Pentecost, 2021, d(2021, 5, 23), d(2021, 5, 23)},
{Pentecost, 2022, d(2022, 6, 5), d(2022, 6, 5)},
{Pentecost, 2023, d(2023, 5, 28), d(2023, 5, 28)},

{PentecostMonday, 2015, d(2015, 5, 25), d(2015, 5, 25)},
{PentecostMonday, 2016, d(2016, 5, 16), d(2016, 5, 16)},
Expand All @@ -91,6 +118,7 @@ func TestHolidays(t *testing.T) {
{PentecostMonday, 2020, d(2020, 6, 1), d(2020, 6, 1)},
{PentecostMonday, 2021, d(2021, 5, 24), d(2021, 5, 24)},
{PentecostMonday, 2022, d(2022, 6, 6), d(2022, 6, 6)},
{PentecostMonday, 2023, d(2023, 5, 29), d(2023, 5, 29)},

{CorpusChristi, 2015, d(2015, 6, 4), d(2015, 6, 4)},
{CorpusChristi, 2016, d(2016, 5, 26), d(2016, 5, 26)},
Expand All @@ -100,6 +128,7 @@ func TestHolidays(t *testing.T) {
{CorpusChristi, 2020, d(2020, 6, 11), d(2020, 6, 11)},
{CorpusChristi, 2021, d(2021, 6, 3), d(2021, 6, 3)},
{CorpusChristi, 2022, d(2022, 6, 16), d(2022, 6, 16)},
{CorpusChristi, 2023, d(2023, 6, 8), d(2023, 6, 8)},

{AssumptionOfMary, 2015, d(2015, 8, 15), d(2015, 8, 15)},
{AssumptionOfMary, 2016, d(2016, 8, 15), d(2016, 8, 15)},
Expand All @@ -109,6 +138,7 @@ func TestHolidays(t *testing.T) {
{AssumptionOfMary, 2020, d(2020, 8, 15), d(2020, 8, 15)},
{AssumptionOfMary, 2021, d(2021, 8, 15), d(2021, 8, 15)},
{AssumptionOfMary, 2022, d(2022, 8, 15), d(2022, 8, 15)},
{AssumptionOfMary, 2023, d(2023, 8, 15), d(2023, 8, 15)},

{AllSaintsDay, 2015, d(2015, 11, 1), d(2015, 11, 1)},
{AllSaintsDay, 2016, d(2016, 11, 1), d(2016, 11, 1)},
Expand All @@ -118,6 +148,7 @@ func TestHolidays(t *testing.T) {
{AllSaintsDay, 2020, d(2020, 11, 1), d(2020, 11, 1)},
{AllSaintsDay, 2021, d(2021, 11, 1), d(2021, 11, 1)},
{AllSaintsDay, 2022, d(2022, 11, 1), d(2022, 11, 1)},
{AllSaintsDay, 2023, d(2023, 11, 1), d(2023, 11, 1)},

{ArmisticeDay, 2015, d(2015, 11, 11), d(2015, 11, 11)},
{ArmisticeDay, 2016, d(2016, 11, 11), d(2016, 11, 11)},
Expand All @@ -127,6 +158,7 @@ func TestHolidays(t *testing.T) {
{ArmisticeDay, 2020, d(2020, 11, 11), d(2020, 11, 11)},
{ArmisticeDay, 2021, d(2021, 11, 11), d(2021, 11, 11)},
{ArmisticeDay, 2022, d(2022, 11, 11), d(2022, 11, 11)},
{ArmisticeDay, 2023, d(2023, 11, 11), d(2023, 11, 11)},

{ImmaculateConception, 2015, d(2015, 12, 8), d(2015, 12, 8)},
{ImmaculateConception, 2016, d(2016, 12, 8), d(2016, 12, 8)},
Expand All @@ -136,6 +168,7 @@ func TestHolidays(t *testing.T) {
{ImmaculateConception, 2020, d(2020, 12, 8), d(2020, 12, 8)},
{ImmaculateConception, 2021, d(2021, 12, 8), d(2021, 12, 8)},
{ImmaculateConception, 2022, d(2022, 12, 8), d(2022, 12, 8)},
{ImmaculateConception, 2023, d(2023, 12, 8), d(2023, 12, 8)},

{ChristmasDay, 2015, d(2015, 12, 25), d(2015, 12, 25)},
{ChristmasDay, 2016, d(2016, 12, 25), d(2016, 12, 25)},
Expand All @@ -145,6 +178,7 @@ func TestHolidays(t *testing.T) {
{ChristmasDay, 2020, d(2020, 12, 25), d(2020, 12, 25)},
{ChristmasDay, 2021, d(2021, 12, 25), d(2021, 12, 25)},
{ChristmasDay, 2022, d(2022, 12, 25), d(2022, 12, 25)},
{ChristmasDay, 2023, d(2023, 12, 25), d(2023, 12, 25)},

{ChristmasDay2, 2015, d(2015, 12, 26), d(2015, 12, 26)},
{ChristmasDay2, 2016, d(2016, 12, 26), d(2016, 12, 26)},
Expand All @@ -154,6 +188,7 @@ func TestHolidays(t *testing.T) {
{ChristmasDay2, 2020, d(2020, 12, 26), d(2020, 12, 26)},
{ChristmasDay2, 2021, d(2021, 12, 26), d(2021, 12, 26)},
{ChristmasDay2, 2022, d(2022, 12, 26), d(2022, 12, 26)},
{ChristmasDay2, 2023, d(2023, 12, 26), d(2023, 12, 26)},
}

for _, test := range tests {
Expand Down
6 changes: 6 additions & 0 deletions v2/se/se_holidays.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ var (
// Langfredagen represents Good Friday on the Friday before Easter
Langfredagen = aa.GoodFriday.Clone(&cal.Holiday{Name: "Långfredagen", Type: cal.ObservancePublic})

// Paskdagen represents the day of Easter
Paskdagen = aa.Easter.Clone(&cal.Holiday{Name: "Påskdagen", Type: cal.ObservancePublic})

// AnnandagPask represents Easter Monday on the day after Easter
AnnandagPask = aa.EasterMonday.Clone(&cal.Holiday{Name: "Annandag påsk", Type: cal.ObservancePublic})

Expand All @@ -29,6 +32,9 @@ var (
// KristiHimmelfardsdag represents Ascension Day on the 39th day after Easter
KristiHimmelfardsdag = aa.AscensionDay.Clone(&cal.Holiday{Name: "Kristi himmelsfärds dag", Type: cal.ObservancePublic})

// Pingstdagen represents Pentecost Sunday on the 49th day after Easter
Pingstdagen = aa.Pentecost.Clone(&cal.Holiday{Name: "Pingstdagen", Type: cal.ObservancePublic})

// Nationaldagen represents National Day of Sweden on 6-Jun
Nationaldagen = &cal.Holiday{
Name: "Sveriges nationaldag",
Expand Down
34 changes: 34 additions & 0 deletions v2/se/se_holidays_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ func TestHolidays(t *testing.T) {
{Nyarsdagen, 2020, d(2020, 1, 1), d(2020, 1, 1)},
{Nyarsdagen, 2021, d(2021, 1, 1), d(2021, 1, 1)},
{Nyarsdagen, 2022, d(2022, 1, 1), d(2022, 1, 1)},
{Nyarsdagen, 2023, d(2023, 1, 1), d(2023, 1, 1)},

{TrettondedagJul, 2015, d(2015, 1, 6), d(2015, 1, 6)},
{TrettondedagJul, 2016, d(2016, 1, 6), d(2016, 1, 6)},
Expand All @@ -37,6 +38,7 @@ func TestHolidays(t *testing.T) {
{TrettondedagJul, 2020, d(2020, 1, 6), d(2020, 1, 6)},
{TrettondedagJul, 2021, d(2021, 1, 6), d(2021, 1, 6)},
{TrettondedagJul, 2022, d(2022, 1, 6), d(2022, 1, 6)},
{TrettondedagJul, 2023, d(2023, 1, 6), d(2023, 1, 6)},

{Langfredagen, 2015, d(2015, 4, 3), d(2015, 4, 3)},
{Langfredagen, 2016, d(2016, 3, 25), d(2016, 3, 25)},
Expand All @@ -46,6 +48,17 @@ func TestHolidays(t *testing.T) {
{Langfredagen, 2020, d(2020, 4, 10), d(2020, 4, 10)},
{Langfredagen, 2021, d(2021, 4, 2), d(2021, 4, 2)},
{Langfredagen, 2022, d(2022, 4, 15), d(2022, 4, 15)},
{Langfredagen, 2023, d(2023, 4, 7), d(2023, 4, 7)},

{Paskdagen, 2015, d(2015, 4, 5), d(2015, 4, 5)},
{Paskdagen, 2016, d(2016, 3, 27), d(2016, 3, 27)},
{Paskdagen, 2017, d(2017, 4, 16), d(2017, 4, 16)},
{Paskdagen, 2018, d(2018, 4, 1), d(2018, 4, 1)},
{Paskdagen, 2019, d(2019, 4, 21), d(2019, 4, 21)},
{Paskdagen, 2020, d(2020, 4, 12), d(2020, 4, 12)},
{Paskdagen, 2021, d(2021, 4, 4), d(2021, 4, 4)},
{Paskdagen, 2022, d(2022, 4, 17), d(2022, 4, 17)},
{Paskdagen, 2023, d(2023, 4, 9), d(2023, 4, 9)},

{AnnandagPask, 2015, d(2015, 4, 6), d(2015, 4, 6)},
{AnnandagPask, 2016, d(2016, 3, 28), d(2016, 3, 28)},
Expand All @@ -55,6 +68,7 @@ func TestHolidays(t *testing.T) {
{AnnandagPask, 2020, d(2020, 4, 13), d(2020, 4, 13)},
{AnnandagPask, 2021, d(2021, 4, 5), d(2021, 4, 5)},
{AnnandagPask, 2022, d(2022, 4, 18), d(2022, 4, 18)},
{AnnandagPask, 2023, d(2023, 4, 10), d(2023, 4, 10)},

{ForstaMaj, 2015, d(2015, 5, 1), d(2015, 5, 1)},
{ForstaMaj, 2016, d(2016, 5, 1), d(2016, 5, 1)},
Expand All @@ -64,6 +78,7 @@ func TestHolidays(t *testing.T) {
{ForstaMaj, 2020, d(2020, 5, 1), d(2020, 5, 1)},
{ForstaMaj, 2021, d(2021, 5, 1), d(2021, 5, 1)},
{ForstaMaj, 2022, d(2022, 5, 1), d(2022, 5, 1)},
{ForstaMaj, 2023, d(2023, 5, 1), d(2023, 5, 1)},

{KristiHimmelfardsdag, 2015, d(2015, 5, 14), d(2015, 5, 14)},
{KristiHimmelfardsdag, 2016, d(2016, 5, 5), d(2016, 5, 5)},
Expand All @@ -73,6 +88,17 @@ func TestHolidays(t *testing.T) {
{KristiHimmelfardsdag, 2020, d(2020, 5, 21), d(2020, 5, 21)},
{KristiHimmelfardsdag, 2021, d(2021, 5, 13), d(2021, 5, 13)},
{KristiHimmelfardsdag, 2022, d(2022, 5, 26), d(2022, 5, 26)},
{KristiHimmelfardsdag, 2023, d(2023, 5, 18), d(2023, 5, 18)},

{Pingstdagen, 2015, d(2015, 5, 24), d(2015, 5, 24)},
{Pingstdagen, 2016, d(2016, 5, 15), d(2016, 5, 15)},
{Pingstdagen, 2017, d(2017, 6, 4), d(2017, 6, 4)},
{Pingstdagen, 2018, d(2018, 5, 20), d(2018, 5, 20)},
{Pingstdagen, 2019, d(2019, 6, 9), d(2019, 6, 9)},
{Pingstdagen, 2020, d(2020, 5, 31), d(2020, 5, 31)},
{Pingstdagen, 2021, d(2021, 5, 23), d(2021, 5, 23)},
{Pingstdagen, 2022, d(2022, 6, 5), d(2022, 6, 5)},
{Pingstdagen, 2023, d(2023, 5, 28), d(2023, 5, 28)},

{Nationaldagen, 2015, d(2015, 6, 6), d(2015, 6, 6)},
{Nationaldagen, 2016, d(2016, 6, 6), d(2016, 6, 6)},
Expand All @@ -82,6 +108,7 @@ func TestHolidays(t *testing.T) {
{Nationaldagen, 2020, d(2020, 6, 6), d(2020, 6, 6)},
{Nationaldagen, 2021, d(2021, 6, 6), d(2021, 6, 6)},
{Nationaldagen, 2022, d(2022, 6, 6), d(2022, 6, 6)},
{Nationaldagen, 2023, d(2023, 6, 6), d(2023, 6, 6)},

{Midsommarafton, 2015, d(2015, 6, 19), d(2015, 6, 19)},
{Midsommarafton, 2016, d(2016, 6, 24), d(2016, 6, 24)},
Expand All @@ -91,6 +118,7 @@ func TestHolidays(t *testing.T) {
{Midsommarafton, 2020, d(2020, 6, 19), d(2020, 6, 19)},
{Midsommarafton, 2021, d(2021, 6, 25), d(2021, 6, 25)},
{Midsommarafton, 2022, d(2022, 6, 24), d(2022, 6, 24)},
{Midsommarafton, 2023, d(2023, 6, 23), d(2023, 6, 23)},

{Midsommardagen, 2015, d(2015, 6, 20), d(2015, 6, 20)},
{Midsommardagen, 2016, d(2016, 6, 25), d(2016, 6, 25)},
Expand All @@ -100,6 +128,7 @@ func TestHolidays(t *testing.T) {
{Midsommardagen, 2020, d(2020, 6, 20), d(2020, 6, 20)},
{Midsommardagen, 2021, d(2021, 6, 26), d(2021, 6, 26)},
{Midsommardagen, 2022, d(2022, 6, 25), d(2022, 6, 25)},
{Midsommardagen, 2023, d(2023, 6, 24), d(2023, 6, 24)},

{AllaHelgonsDag, 2015, d(2015, 10, 31), d(2015, 10, 31)},
{AllaHelgonsDag, 2016, d(2016, 11, 5), d(2016, 11, 5)},
Expand All @@ -109,6 +138,7 @@ func TestHolidays(t *testing.T) {
{AllaHelgonsDag, 2020, d(2020, 10, 31), d(2020, 10, 31)},
{AllaHelgonsDag, 2021, d(2021, 11, 6), d(2021, 11, 6)},
{AllaHelgonsDag, 2022, d(2022, 11, 5), d(2022, 11, 5)},
{AllaHelgonsDag, 2023, d(2023, 11, 4), d(2023, 11, 4)},

{Julafton, 2015, d(2015, 12, 24), d(2015, 12, 24)},
{Julafton, 2016, d(2016, 12, 24), d(2016, 12, 24)},
Expand All @@ -118,6 +148,7 @@ func TestHolidays(t *testing.T) {
{Julafton, 2020, d(2020, 12, 24), d(2020, 12, 24)},
{Julafton, 2021, d(2021, 12, 24), d(2021, 12, 24)},
{Julafton, 2022, d(2022, 12, 24), d(2022, 12, 24)},
{Julafton, 2023, d(2023, 12, 24), d(2023, 12, 24)},

{Juldagen, 2015, d(2015, 12, 25), d(2015, 12, 25)},
{Juldagen, 2016, d(2016, 12, 25), d(2016, 12, 25)},
Expand All @@ -127,6 +158,7 @@ func TestHolidays(t *testing.T) {
{Juldagen, 2020, d(2020, 12, 25), d(2020, 12, 25)},
{Juldagen, 2021, d(2021, 12, 25), d(2021, 12, 25)},
{Juldagen, 2022, d(2022, 12, 25), d(2022, 12, 25)},
{Juldagen, 2023, d(2023, 12, 25), d(2023, 12, 25)},

{AnnandagJul, 2015, d(2015, 12, 26), d(2015, 12, 26)},
{AnnandagJul, 2016, d(2016, 12, 26), d(2016, 12, 26)},
Expand All @@ -136,6 +168,7 @@ func TestHolidays(t *testing.T) {
{AnnandagJul, 2020, d(2020, 12, 26), d(2020, 12, 26)},
{AnnandagJul, 2021, d(2021, 12, 26), d(2021, 12, 26)},
{AnnandagJul, 2022, d(2022, 12, 26), d(2022, 12, 26)},
{AnnandagJul, 2023, d(2023, 12, 26), d(2023, 12, 26)},

{Nyarsafton, 2015, d(2015, 12, 31), d(2015, 12, 31)},
{Nyarsafton, 2016, d(2016, 12, 31), d(2016, 12, 31)},
Expand All @@ -145,6 +178,7 @@ func TestHolidays(t *testing.T) {
{Nyarsafton, 2020, d(2020, 12, 31), d(2020, 12, 31)},
{Nyarsafton, 2021, d(2021, 12, 31), d(2021, 12, 31)},
{Nyarsafton, 2022, d(2022, 12, 31), d(2022, 12, 31)},
{Nyarsafton, 2023, d(2023, 12, 31), d(2023, 12, 31)},
}

for _, test := range tests {
Expand Down

0 comments on commit 88bcd41

Please sign in to comment.