Repository: focus-shift/jollyday (java)

Issue:
Poland: Christmas Eve starting with 2025
### Affected country

Poland

### Affected public holiday

Christmas Eve

### Source of the information

https://polanddaily24.com/christmas-eve-declared-a-public-holiday-in-poland-changes-effective-next-year/lifestyle/48678

### More information

https://www.polskieradio.pl/395/7784/Artykul/3464393,christmas-eve-officially-a-day-off-in-poland-from-2025

Pull request description:
poland: add christmas eve starting from 2025
closes #723

<!--

Thanks for contributing.
Please review the following notes before submitting you pull request.

Please look for other issues or pull requests which already work on this topic. Is somebody already on it? Do you need to synchronize?

# Security Vulnerabilities

🛑 STOP! 🛑 If your contribution fixes a security vulnerability, please do not submit it.
Instead, please write an E-Mail to to one of the maintainer with all the information
to recreate the security vulnerability.

# Describing Your Changes

If, having reviewed the notes above, you're ready to submit your pull request, please
provide a brief description of the proposed changes.

If they:
 🐞 fix a bug, please describe the broken behaviour and how the changes fix it.
    Please label with 'type: bug' and 'status: new'
    
 🎁 make an enhancement, please describe the new functionality and why you believe it's useful.
    Please label with 'type: enhancement' and 'status: new'
 
If your pull request relates to any existing issues,
please reference them by using the issue number prefixed with #.

-->


Patch:
diff --git a/jollyday-core/src/main/resources/holidays/Holidays_pl.xml b/jollyday-core/src/main/resources/holidays/Holidays_pl.xml
index 74507da6..4b876a39 100644
--- a/jollyday-core/src/main/resources/holidays/Holidays_pl.xml
+++ b/jollyday-core/src/main/resources/holidays/Holidays_pl.xml
@@ -12,6 +12,7 @@
     <Fixed month="AUGUST" day="15" descriptionPropertiesKey="ASSUMPTION_DAY"/>
     <Fixed month="NOVEMBER" day="1" descriptionPropertiesKey="ALL_SAINTS"/>
     <Fixed month="NOVEMBER" day="11" descriptionPropertiesKey="INDEPENDENCE_DAY"/>
+    <Fixed month="DECEMBER" day="24" validFrom="2025" descriptionPropertiesKey="CHRISTMAS_EVE"/>
     <Fixed month="DECEMBER" day="25" descriptionPropertiesKey="CHRISTMAS"/>
     <Fixed month="DECEMBER" day="26" descriptionPropertiesKey="STEPHENS"/>
     <ChristianHoliday type="EASTER" descriptionPropertiesKey="christian.EASTER"/>


Test patch:
diff --git a/jollyday-tests/src/test/java/de/focus_shift/jollyday/tests/country/HolidayPLTest.java b/jollyday-tests/src/test/java/de/focus_shift/jollyday/tests/country/HolidayPLTest.java
new file mode 100644
index 00000000..ab6e95d8
--- /dev/null
+++ b/jollyday-tests/src/test/java/de/focus_shift/jollyday/tests/country/HolidayPLTest.java
@@ -0,0 +1,39 @@
+package de.focus_shift.jollyday.tests.country;
+
+import org.junit.jupiter.api.Test;
+
+import java.time.Year;
+
+import static de.focus_shift.jollyday.core.HolidayCalendar.POLAND;
+import static de.focus_shift.jollyday.tests.CalendarCheckerApi.assertFor;
+import static java.time.Month.AUGUST;
+import static java.time.Month.DECEMBER;
+import static java.time.Month.JANUARY;
+import static java.time.Month.MAY;
+import static java.time.Month.NOVEMBER;
+
+class HolidayPLTest {
+
+  @Test
+  void ensuresHolidays() {
+    assertFor(POLAND)
+      .hasFixedHoliday("NEW_YEAR", JANUARY,1).and()
+      .hasFixedHoliday("EPIPHANY", JANUARY,6).and()
+      .hasFixedHoliday("LABOUR_DAY", MAY,1).and()
+      .hasFixedHoliday("CONSTITUTION_DAY", MAY,3).and()
+      .hasFixedHoliday("ASSUMPTION_DAY", AUGUST,15).and()
+      .hasFixedHoliday("ALL_SAINTS", NOVEMBER,1).and()
+      .hasFixedHoliday("INDEPENDENCE_DAY", NOVEMBER,11).and()
+      .hasFixedHoliday("CHRISTMAS_EVE", DECEMBER,24)
+        .notBetween(Year.of(1900), Year.of(2024))
+        .between(Year.of(2025), Year.of(2500))
+      .and()
+      .hasFixedHoliday("CHRISTMAS", DECEMBER,25).and()
+      .hasFixedHoliday("STEPHENS", DECEMBER,26).and()
+      .hasChristianHoliday("EASTER").and()
+      .hasChristianHoliday("EASTER_MONDAY").and()
+      .hasChristianHoliday("PENTECOST").and()
+      .hasChristianHoliday("CORPUS_CHRISTI")
+      .check();
+  }
+}