diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java index 1bf108c8a..4942665cc 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java @@ -771,7 +771,8 @@ public abstract class ResourceAllocation extends private AllocateResourcesPerDayOnInterval( IntraDayDate startInclusive, IntraDayDate endExclusive) { this.startInclusive = startInclusive; - this.endExclusive = endExclusive; + this.endExclusive = IntraDayDate.max(startInclusive, + endExclusive); } @Override diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java index f03aaef87..1c207b773 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java @@ -456,8 +456,8 @@ public class GenericResourceAllocationTest { assertThat(orderedAssignmentsFor, haveHours(hoursPerDay, hoursPerDay)); } - @Test(expected = IllegalArgumentException.class) - public void whenAllocatingUntilSomeEndDateTheEndDateMustNotBeBeforeTaskStart() { + @Test + public void whenAllocatingUntilSomeEndDateBeforeTheStartNothingIsDone() { LocalDate start = new LocalDate(2006, 10, 5); givenTaskWithStartAndEnd(toInterval(start, Period.days(4))); givenGenericResourceAllocationForTask(task); @@ -467,6 +467,9 @@ public class GenericResourceAllocationTest { genericResourceAllocation.forResources(Arrays.asList(worker1)) .resourcesPerDayUntil(start.minusDays(1)) .allocate(resourcesPerDay); + + assertTrue(genericResourceAllocation.getOrderedAssignmentsFor(worker1) + .isEmpty()); } @Test(expected = IllegalArgumentException.class)