ItEr23S08CUEdicionCalendarioLaboral: Added new method getCalendarVersion, that returns the valid calendar for a concrete date.
Fixed two mistakes on methods newVersion and newCopy (return statement missing).
This commit is contained in:
parent
0be1d61529
commit
7d54dc32f0
2 changed files with 30 additions and 2 deletions
|
|
@ -444,7 +444,7 @@ public class BaseCalendar extends BaseEntity implements IValidable {
|
|||
public BaseCalendar newVersion(LocalDate date)
|
||||
throws IllegalArgumentException {
|
||||
if (nextCalendar != null) {
|
||||
nextCalendar.newVersion(date);
|
||||
return nextCalendar.newVersion(date);
|
||||
}
|
||||
|
||||
if (previousCalendar != null) {
|
||||
|
|
@ -466,7 +466,7 @@ public class BaseCalendar extends BaseEntity implements IValidable {
|
|||
|
||||
public BaseCalendar newCopy() {
|
||||
if (nextCalendar != null) {
|
||||
nextCalendar.newCopy();
|
||||
return nextCalendar.newCopy();
|
||||
}
|
||||
|
||||
BaseCalendar copy = create();
|
||||
|
|
@ -504,4 +504,18 @@ public class BaseCalendar extends BaseEntity implements IValidable {
|
|||
this.parent = parent;
|
||||
}
|
||||
|
||||
public BaseCalendar getCalendarVersion(Date date) {
|
||||
return getCalendarVersion(new LocalDate(date));
|
||||
}
|
||||
|
||||
public BaseCalendar getCalendarVersion(LocalDate date) {
|
||||
if (shouldUsePreviousCalendar(date)) {
|
||||
return previousCalendar.getCalendarVersion(date);
|
||||
} else if (shouldUseNextCalendar(date)) {
|
||||
return nextCalendar.getCalendarVersion(date);
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -588,4 +588,18 @@ public class BaseCalendarTest {
|
|||
assertThat(newVersion.getOwnExceptions().size(), equalTo(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetVersion() {
|
||||
BaseCalendar calendar = createBasicCalendar();
|
||||
BaseCalendar newVersion = calendar.newVersion(WEDNESDAY_LOCAL_DATE);
|
||||
BaseCalendar lastVersion = newVersion.newVersion(SATURDAY_LOCAL_DATE);
|
||||
|
||||
assertThat(lastVersion.getCalendarVersion(MONDAY_LOCAL_DATE),
|
||||
equalTo(calendar));
|
||||
assertThat(lastVersion.getCalendarVersion(THURSDAY_LOCAL_DATE),
|
||||
equalTo(newVersion));
|
||||
assertThat(lastVersion.getCalendarVersion(SUNDAY_LOCAL_DATE),
|
||||
equalTo(lastVersion));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue