From 8334cc2b2e2d75314d10a2e5d2048f760d842470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 30 Aug 2010 14:06:50 +0200 Subject: [PATCH] Add method for summing EffortDurations FEA: ItEr60S19TimeUnitDataType --- .../business/workingday/EffortDuration.java | 12 ++++++++++++ .../business/test/workingday/EffortDurationTest.java | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java index e1dee8f27..258bc68d2 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java @@ -133,6 +133,18 @@ public class EffortDuration implements Comparable { return EffortDuration.seconds(this.seconds * integer); } + /** + * Pluses two {@link EffortDuration}.
+ * Warning: This method can cause an integer overflow and the result + * would be incorrect. + * @param other + * @return a duration that is the sum of this + * {@link EffortDuration} and the other duration + */ + public EffortDuration plus(EffortDuration other) { + return new EffortDuration(seconds + other.seconds); + } + public boolean isZero() { return seconds == 0; } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java index 831d720b6..b964a916c 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java @@ -134,4 +134,11 @@ public class EffortDurationTest { assertThat(min, equalTo(seconds(10))); } + @Test + public void effortDurationsCanBePlused() { + EffortDuration a = EffortDuration.hours(1).and(30, Granularity.MINUTES); + EffortDuration b = EffortDuration.minutes(30); + assertThat(a.plus(b), equalTo(EffortDuration.hours(2))); + } + }