diff options
Diffstat (limited to 'test/org/traccar/reports')
-rw-r--r-- | test/org/traccar/reports/ReportUtilsTest.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/org/traccar/reports/ReportUtilsTest.java b/test/org/traccar/reports/ReportUtilsTest.java new file mode 100644 index 000000000..2e01505db --- /dev/null +++ b/test/org/traccar/reports/ReportUtilsTest.java @@ -0,0 +1,36 @@ +package org.traccar.reports; + +import org.junit.Assert; +import org.junit.Test; +import org.traccar.model.Position; + +public class ReportUtilsTest { + + @Test + public void testCalculateDistance() { + Position startPosition = new Position(); + startPosition.set(Position.KEY_TOTAL_DISTANCE, 500.0); + Position endPosition = new Position(); + endPosition.set(Position.KEY_TOTAL_DISTANCE, 700.0); + Assert.assertEquals(ReportUtils.calculateDistance(startPosition, endPosition), 200.0, 10); + startPosition.set(Position.KEY_ODOMETER, 50000); + endPosition.set(Position.KEY_ODOMETER, 50001); + Assert.assertEquals(ReportUtils.calculateDistance(startPosition, endPosition), 1000.0, 10); + } + + @Test + public void testCalculateSpentFuel() { + Position startPosition = new Position(); + Position endPosition = new Position(); + Assert.assertEquals(ReportUtils.calculateFuel(startPosition, endPosition), "-"); + startPosition.setProtocol("meitrack"); + startPosition.set(Position.KEY_FUEL, 0.07); + endPosition.set(Position.KEY_FUEL, 0.05); + Assert.assertEquals(ReportUtils.calculateFuel(startPosition, endPosition), "0.02 %"); + startPosition.setProtocol("galileo"); + Assert.assertEquals(ReportUtils.calculateFuel(startPosition, endPosition), "0.02 %"); + startPosition.setProtocol("noran"); + Assert.assertEquals(ReportUtils.calculateFuel(startPosition, endPosition), "0.02 %"); + } + +} |