From b5e180da135c48afc3d89665000b6de0e6a330e3 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 16 Jun 2017 09:30:32 +0500 Subject: Centralized motion detection --- test/org/traccar/MotionHandlerTest.java | 21 +++++++++++++++++++++ test/org/traccar/ProtocolTest.java | 4 ++++ test/org/traccar/events/MotionEventHandlerTest.java | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 test/org/traccar/MotionHandlerTest.java (limited to 'test') diff --git a/test/org/traccar/MotionHandlerTest.java b/test/org/traccar/MotionHandlerTest.java new file mode 100644 index 000000000..d716a5ec7 --- /dev/null +++ b/test/org/traccar/MotionHandlerTest.java @@ -0,0 +1,21 @@ +package org.traccar; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.traccar.model.Position; + +public class MotionHandlerTest { + + @Test + public void testCalculateMotion() throws Exception { + + MotionHandler motionHandler = new MotionHandler(0.01); + + Position position = motionHandler.calculateMotion(new Position()); + + assertEquals(false, position.getAttributes().get(Position.KEY_MOTION)); + + } + +} diff --git a/test/org/traccar/ProtocolTest.java b/test/org/traccar/ProtocolTest.java index ee5811e49..eaecfab0b 100644 --- a/test/org/traccar/ProtocolTest.java +++ b/test/org/traccar/ProtocolTest.java @@ -237,6 +237,10 @@ public class ProtocolTest extends BaseTest { Assert.assertTrue(attributes.get(Position.KEY_CHARGE) instanceof Boolean); } + if (attributes.containsKey(Position.KEY_MOTION)) { + Assert.assertTrue(attributes.get(Position.KEY_MOTION) instanceof Boolean); + } + if (position.getNetwork() != null && position.getNetwork().getCellTowers() != null) { for (CellTower cellTower : position.getNetwork().getCellTowers()) { checkInteger(cellTower.getMobileCountryCode(), 0, 999); diff --git a/test/org/traccar/events/MotionEventHandlerTest.java b/test/org/traccar/events/MotionEventHandlerTest.java index 622680d91..f05ef54d5 100644 --- a/test/org/traccar/events/MotionEventHandlerTest.java +++ b/test/org/traccar/events/MotionEventHandlerTest.java @@ -18,7 +18,7 @@ public class MotionEventHandlerTest extends BaseTest { MotionEventHandler motionEventHandler = new MotionEventHandler(); Position position = new Position(); - position.setSpeed(10.0); + position.set(Position.KEY_MOTION, true); position.setValid(true); Collection events = motionEventHandler.analyzePosition(position); assertNotNull(events); -- cgit v1.2.3 From b1d5a5cfd165d2b52cf4dcdc57a6825e0ff1db8f Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 16 Jun 2017 11:42:35 +0500 Subject: Remove intermediate functions --- src/org/traccar/DistanceHandler.java | 8 ++------ src/org/traccar/MotionHandler.java | 8 ++------ test/org/traccar/DistanceHandlerTest.java | 2 +- test/org/traccar/MotionHandlerTest.java | 2 +- 4 files changed, 6 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/src/org/traccar/DistanceHandler.java b/src/org/traccar/DistanceHandler.java index fdf9847a7..0ab2d9048 100644 --- a/src/org/traccar/DistanceHandler.java +++ b/src/org/traccar/DistanceHandler.java @@ -31,7 +31,8 @@ public class DistanceHandler extends BaseDataHandler { return null; } - public Position calculateDistance(Position position) { + @Override + protected Position handlePosition(Position position) { double distance = 0.0; double totalDistance = 0.0; @@ -59,9 +60,4 @@ public class DistanceHandler extends BaseDataHandler { return position; } - @Override - protected Position handlePosition(Position position) { - return calculateDistance(position); - } - } diff --git a/src/org/traccar/MotionHandler.java b/src/org/traccar/MotionHandler.java index fa3d51858..901965dd5 100644 --- a/src/org/traccar/MotionHandler.java +++ b/src/org/traccar/MotionHandler.java @@ -26,16 +26,12 @@ public class MotionHandler extends BaseDataHandler { this.speedThreshold = speedThreshold; } - public Position calculateMotion(Position position) { + @Override + protected Position handlePosition(Position position) { if (!position.getAttributes().containsKey(Position.KEY_MOTION)) { position.set(Position.KEY_MOTION, position.getSpeed() > speedThreshold); } return position; } - @Override - protected Position handlePosition(Position position) { - return calculateMotion(position); - } - } diff --git a/test/org/traccar/DistanceHandlerTest.java b/test/org/traccar/DistanceHandlerTest.java index b14caaec5..66b2f3d1c 100644 --- a/test/org/traccar/DistanceHandlerTest.java +++ b/test/org/traccar/DistanceHandlerTest.java @@ -12,7 +12,7 @@ public class DistanceHandlerTest { DistanceHandler distanceHandler = new DistanceHandler(); - Position position = distanceHandler.calculateDistance(new Position()); + Position position = distanceHandler.handlePosition(new Position()); assertEquals(0.0, position.getAttributes().get(Position.KEY_DISTANCE)); assertEquals(0.0, position.getAttributes().get(Position.KEY_TOTAL_DISTANCE)); diff --git a/test/org/traccar/MotionHandlerTest.java b/test/org/traccar/MotionHandlerTest.java index d716a5ec7..fc6dce033 100644 --- a/test/org/traccar/MotionHandlerTest.java +++ b/test/org/traccar/MotionHandlerTest.java @@ -12,7 +12,7 @@ public class MotionHandlerTest { MotionHandler motionHandler = new MotionHandler(0.01); - Position position = motionHandler.calculateMotion(new Position()); + Position position = motionHandler.handlePosition(new Position()); assertEquals(false, position.getAttributes().get(Position.KEY_MOTION)); -- cgit v1.2.3