This is an automated email from the ASF dual-hosted git repository.
fjtiradosarti pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new 8f722efa0d [Fix_3818] Wrong calculation in test
rollCalendarAfterHolidays if day is (#3819)
8f722efa0d is described below
commit 8f722efa0d1626ab00268303185ceef65a472f72
Author: Gonzalo Muñoz <[email protected]>
AuthorDate: Wed Jan 8 18:58:47 2025 +0100
[Fix_3818] Wrong calculation in test rollCalendarAfterHolidays if day is
(#3819)
near to end-of-year
---
.../core/timer/BusinessCalendarImplTest.java | 43 ++++++++++++++++------
1 file changed, 32 insertions(+), 11 deletions(-)
diff --git
a/jbpm/jbpm-flow/src/test/java/org/jbpm/process/core/timer/BusinessCalendarImplTest.java
b/jbpm/jbpm-flow/src/test/java/org/jbpm/process/core/timer/BusinessCalendarImplTest.java
index e1038c8b39..1f06dbac83 100755
---
a/jbpm/jbpm-flow/src/test/java/org/jbpm/process/core/timer/BusinessCalendarImplTest.java
+++
b/jbpm/jbpm-flow/src/test/java/org/jbpm/process/core/timer/BusinessCalendarImplTest.java
@@ -222,20 +222,41 @@ class BusinessCalendarImplTest extends AbstractBaseTest {
}
@Test
- void rollCalendarAfterHolidays() {
- Instant now = Instant.now();
- int holidayLeft = 4;
- Instant startHolidayInstant = now.minus(2, DAYS);
- Instant endHolidayInstant = now.plus(holidayLeft, DAYS);
- Date startHoliday = Date.from(startHolidayInstant);
- Date endHoliday = Date.from(endHolidayInstant);
- List<BusinessCalendarImpl.TimePeriod> holidays =
Collections.singletonList(new BusinessCalendarImpl.TimePeriod(startHoliday,
endHoliday));
+ void rollCalendarAfterHolidaysWithoutYearRollover() {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.DAY_OF_YEAR, 360);
+ calendar.set(Calendar.YEAR, 2025);
+ Instant currentInstant = calendar.toInstant();
+
+ Instant startHolidayInstant = currentInstant.minus(2, DAYS);
+ Instant endHolidayInstant = currentInstant.plus(4, DAYS);
+ List<BusinessCalendarImpl.TimePeriod> holidays =
Collections.singletonList(
+ new
BusinessCalendarImpl.TimePeriod(Date.from(startHolidayInstant),
Date.from(endHolidayInstant)));
List<Integer> weekendDays = Collections.emptyList();
+
+ BusinessCalendarImpl.rollCalendarAfterHolidays(calendar, holidays,
weekendDays, false);
+
+ int expectedDayOfYear = 360 + 4 + 1; //last day of the year, as it is
not leap year
+
assertThat(calendar.get(Calendar.DAY_OF_YEAR)).isEqualTo(expectedDayOfYear);
+ }
+
+ @Test
+ void rollCalendarAfterHolidaysWithYearRollover() {
Calendar calendar = Calendar.getInstance();
- int currentDayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
+ calendar.set(Calendar.DAY_OF_YEAR, 361);
+ calendar.set(Calendar.YEAR, 2025);
+ Instant currentInstant = calendar.toInstant();
+
+ Instant startHolidayInstant = currentInstant.minus(2, DAYS);
+ Instant endHolidayInstant = currentInstant.plus(4, DAYS);
+ List<BusinessCalendarImpl.TimePeriod> holidays =
Collections.singletonList(
+ new
BusinessCalendarImpl.TimePeriod(Date.from(startHolidayInstant),
Date.from(endHolidayInstant)));
+ List<Integer> weekendDays = Collections.emptyList();
+
BusinessCalendarImpl.rollCalendarAfterHolidays(calendar, holidays,
weekendDays, false);
- int expected = currentDayOfYear + holidayLeft + 1;
- assertThat(calendar.get(Calendar.DAY_OF_YEAR)).isEqualTo(expected);
+
+ int expectedDayOfYear = 1; //since 2025 is not leap year
+
assertThat(calendar.get(Calendar.DAY_OF_YEAR)).isEqualTo(expectedDayOfYear);
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]