From 859bac1a0162460fdca7ebeab7e9ba20332f1690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 9 Oct 2009 11:19:08 +0200 Subject: [PATCH] ItEr29S06CUAsignacionGrupoRecursosAPlanificacionItEr28S06: Now calculates the resources per day correctly for generic allocations --- .../planner/entities/ResourceAllocation.java | 3 +-- .../GenericResourceAllocationTest.java | 22 +++++++++++++++++++ 2 files changed, 23 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 759d762f2..92e8d0f09 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 @@ -380,8 +380,7 @@ public abstract class ResourceAllocation extends int sumWorkableHours = 0; for (Entry> entry : byDay.entrySet()) { sumWorkableHours += getWorkHoursPerDay().getWorkableHours( - entry.getKey()) - * entry.getValue().size(); + entry.getKey()); sumTotalHours += getAssignedHours(entry.getValue()); } if (sumWorkableHours == 0) { 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 4bbd27f47..156021969 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 @@ -398,4 +398,26 @@ public class GenericResourceAllocationTest { assertThat(genericResourceAllocation.getAssignedHours(), equalTo(0)); } + @Test + public void afterAllocatingMoreHoursOnIntervalTheResourcesPerDayAreIncreased() { + final int workableHoursDay = 8; + givenBaseCalendarWithoutExceptions(workableHoursDay); + LocalDate start = new LocalDate(2006, 10, 5); + final int days = 4; + givenTaskWithStartAndEnd(toInterval(start, Period.days(days))); + givenGenericResourceAllocationForTask(task); + givenWorkersWithLoads(8, 8, 8); + + genericResourceAllocation.forResources(workers).allocate( + ResourcesPerDay.amount(3)); + ResourcesPerDay original = genericResourceAllocation + .getResourcesPerDay(); + genericResourceAllocation.forResources(workers).onInterval(start, + start.plusDays(2)).allocateHours(60); + ResourcesPerDay current = genericResourceAllocation + .getResourcesPerDay(); + assertTrue(current.getAmount() + .compareTo(original.getAmount()) > 0); + } + }