diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourcesPerDay.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourcesPerDay.java index bc90912ab..8642d046c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourcesPerDay.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourcesPerDay.java @@ -101,8 +101,14 @@ public class ResourcesPerDay { public int asHoursGivenResourceWorkingDayOf( Integer resourceWorkingDayHours) { - return getAmount().multiply(new BigDecimal(resourceWorkingDayHours)) - .setScale(0, RoundingMode.HALF_UP).intValue(); + BigDecimal multiply = getAmount().multiply( + new BigDecimal(resourceWorkingDayHours)); + if(multiply.compareTo(BigDecimal.ZERO)>0){ + return Math.max(1, multiply.setScale(0, RoundingMode.HALF_UP) + .intValue()); + } else { + return 0; + } } @Override diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/ResourcesPerDayTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/ResourcesPerDayTest.java index 9c0987c39..f9de3fbc3 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/ResourcesPerDayTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/ResourcesPerDayTest.java @@ -128,6 +128,21 @@ public class ResourcesPerDayTest { assertEquals(a, b); } + @Test + public void asHoursMustReturnOneIfAmountIsGreaterThanZero() { + ResourcesPerDay amount = ResourcesPerDay.amount(new BigDecimal(0.05)); + int hours = amount + .asHoursGivenResourceWorkingDayOf(8); + assertThat(hours, equalTo(1)); + } + + @Test + public void ifTheAmountIsZeroMustReturnZero() { + ResourcesPerDay amount = ResourcesPerDay.amount(BigDecimal.ZERO); + int hours = amount.asHoursGivenResourceWorkingDayOf(8); + assertThat(hours, equalTo(0)); + } + @Test public void isZeroIfHaveZeroValue() { BigDecimal[] examples = { new BigDecimal(0.0001), new BigDecimal(0),