From 834dbeb39b7efcc695ab6ffb5a116cfb8ed08b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Thu, 9 Jun 2011 12:28:33 +0200 Subject: [PATCH] [Bug #1091] Be more lenient if the end date is before start date Do nothing instead of throwing an exception. --- .../business/planner/entities/ResourceAllocation.java | 3 ++- .../planner/entities/GenericResourceAllocationTest.java | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) 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)