From 5753c95dedae3a9d76b744515bb3174cea4e2f1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 9 Oct 2009 15:13:48 +0200 Subject: [PATCH] ItEr29S06CUAsignacionGrupoRecursosAPlanificacionItEr28S06: The end date of an allocation is exclusive, not inclusive --- .../planner/entities/ResourceAllocation.java | 4 ++-- .../SpecificResourceAllocationTest.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 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 92e8d0f09..bf41227fc 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 @@ -463,14 +463,14 @@ public abstract class ResourceAllocation extends if (assignments.isEmpty()) { return null; } - return assignments.get(assignments.size() - 1).getDay(); + return assignments.get(assignments.size() - 1).getDay().plusDays(1); } public boolean isAlreadyFinishedBy(LocalDate date) { if (getEndDate() == null) { return false; } - return getEndDate().compareTo(date) < 0; + return getEndDate().compareTo(date) <= 0; } private interface PredicateOnDayAssignment { diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/SpecificResourceAllocationTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/SpecificResourceAllocationTest.java index b8f86aca8..64d5d0528 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/SpecificResourceAllocationTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/SpecificResourceAllocationTest.java @@ -24,6 +24,7 @@ import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.isA; import static org.easymock.classextension.EasyMock.createNiceMock; import static org.easymock.classextension.EasyMock.replay; +import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.navalplanner.business.test.planner.entities.DayAssignmentMatchers.consecutiveDays; @@ -250,4 +251,22 @@ public class SpecificResourceAllocationTest { assertThat(specificResourceAllocation.getAssignments(), haveHours(2, 8)); } + @Test + public void theEndDateOfTheAllocationIsExclusive() { + LocalDate start = new LocalDate(2000, 2, 4); + givenSpecificResourceAllocation(start, 2); + specificResourceAllocation.allocate(ResourcesPerDay.amount(1)); + assertThat(specificResourceAllocation.getEndDate(), + equalTo(new LocalDate(2000, 2, 6))); + } + + @Test + public void theAllocationIsFinishedByEndDate() { + LocalDate start = new LocalDate(2000, 2, 4); + givenSpecificResourceAllocation(start, 2); + specificResourceAllocation.allocate(ResourcesPerDay.amount(1)); + assertTrue(specificResourceAllocation + .isAlreadyFinishedBy(specificResourceAllocation.getEndDate())); + } + }