diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractDistance.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractDistance.java index 19b15315250..1dadc966d12 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractDistance.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/AbstractDistance.java @@ -27,6 +27,10 @@ public abstract class AbstractDistance implements Distance { return meters > otherMeters ? 1 : meters == otherMeters ? 0 : -1; } + private Speed inSeconds(double seconds) { + return new KilometersPerHourSpeedImpl(getKilometers() * 3600 / seconds); + } + @Override public Speed inTime(long milliseconds) { return new KilometersPerHourSpeedImpl(getKilometers() * 1000. * 3600. / milliseconds); @@ -34,7 +38,7 @@ public abstract class AbstractDistance implements Distance { @Override public Speed inTime(Duration duration) { - return inTime(duration.asMillis()); + return inSeconds(duration.asSeconds()); } @Override diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/DurationTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/DurationTest.java index 9c56800ef26..3ee5ed38580 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/DurationTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/common/test/DurationTest.java @@ -13,6 +13,7 @@ import com.sap.sse.common.Duration; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsDurationImpl; import com.sap.sse.common.impl.MillisecondsTimePoint; +import com.sap.sse.common.impl.SecondsDurationImpl; public class DurationTest { @Test @@ -88,7 +89,7 @@ public class DurationTest { } @Test - public void testOperations() { + public void testOperationsMilliseconds() { Duration someSeconds = new MillisecondsDurationImpl(2400).minus(1000); assertEquals(0, someSeconds.asDays(), 0.1); assertEquals(0, someSeconds.asHours(), 0.1); @@ -102,6 +103,22 @@ public class DurationTest { assertEquals(3600*25, oneDay.asSeconds(), 0.1); assertEquals(3600*25*1000, oneDay.asMillis()); } + + @Test + public void testOperationsSeconds() { + Duration someSeconds = new SecondsDurationImpl(2.4).minus(1000); + assertEquals(0, someSeconds.asDays(), 0.1); + assertEquals(0, someSeconds.asHours(), 0.1); + assertEquals(0, someSeconds.asMinutes(), 0.1); + assertEquals(1.4, someSeconds.asSeconds(), 0.1); + assertEquals(1400, someSeconds.asMillis(), 0.1); + Duration oneDay = Duration.ONE_DAY.plus(Duration.ONE_HOUR); + assertEquals(25, oneDay.asHours(), 0.001); + assertEquals(1, oneDay.asDays(), 0.01); + assertEquals(25*60, oneDay.asMinutes(), 0.1); + assertEquals(3600*25, oneDay.asSeconds(), 0.1); + assertEquals(3600*25*1000, oneDay.asMillis()); + } @Test public void compare() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html index 54054e529a0..cdda13a078a 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html @@ -4,6 +4,14 @@

What's New - SAP Sailing Race Manager

+
July 2019
+ +
May 2019