From 16ec66e18af7c421e80591cf6c463c52980665ec Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 11 Aug 2016 09:51:40 +0500 Subject: - Added IgnitionEventHandler - Added unit test for some EventHandlers - Changed a bit IdentityManager to fit EventHandlerTest --- test/org/traccar/EventHandlerTest.java | 43 ++++++++++++++++++++++ test/org/traccar/ProtocolTest.java | 5 +++ test/org/traccar/events/AlertEventHandlerTest.java | 28 ++++++++++++++ .../events/CommandResultEventHandlerTest.java | 28 ++++++++++++++ .../traccar/events/IgnitionEventHandlerTest.java | 29 +++++++++++++++ .../org/traccar/events/MotionEventHandlerTest.java | 29 +++++++++++++++ 6 files changed, 162 insertions(+) create mode 100644 test/org/traccar/EventHandlerTest.java create mode 100644 test/org/traccar/events/AlertEventHandlerTest.java create mode 100644 test/org/traccar/events/CommandResultEventHandlerTest.java create mode 100644 test/org/traccar/events/IgnitionEventHandlerTest.java create mode 100644 test/org/traccar/events/MotionEventHandlerTest.java (limited to 'test') diff --git a/test/org/traccar/EventHandlerTest.java b/test/org/traccar/EventHandlerTest.java new file mode 100644 index 000000000..423a5084f --- /dev/null +++ b/test/org/traccar/EventHandlerTest.java @@ -0,0 +1,43 @@ +package org.traccar; + +import org.traccar.database.IdentityManager; +import org.traccar.model.Device; +import org.traccar.model.Position; + +public class EventHandlerTest { + + static { + Context.init(new IdentityManager() { + + private Device createDevice() { + Device device = new Device(); + device.setId(1); + device.setName("test"); + device.setUniqueId("123456789012345"); + return device; + } + + @Override + public Device getDeviceById(long id) { + return createDevice(); + } + + @Override + public Device getDeviceByUniqueId(String uniqueId) { + return createDevice(); + } + + @Override + public Position getLastPosition(long deviceId) { + return null; + } + + @Override + public boolean isLatestPosition(Position position) { + return true; + } + + }); + } + +} diff --git a/test/org/traccar/ProtocolTest.java b/test/org/traccar/ProtocolTest.java index 07a19b691..c6c957679 100644 --- a/test/org/traccar/ProtocolTest.java +++ b/test/org/traccar/ProtocolTest.java @@ -49,6 +49,11 @@ public class ProtocolTest { public Position getLastPosition(long deviceId) { return null; } + + @Override + public boolean isLatestPosition(Position position) { + return true; + } }); } diff --git a/test/org/traccar/events/AlertEventHandlerTest.java b/test/org/traccar/events/AlertEventHandlerTest.java new file mode 100644 index 000000000..c6d5e07d9 --- /dev/null +++ b/test/org/traccar/events/AlertEventHandlerTest.java @@ -0,0 +1,28 @@ +package org.traccar.events; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.Collection; + +import org.junit.Test; +import org.traccar.EventHandlerTest; +import org.traccar.model.Event; +import org.traccar.model.Position; + +public class AlertEventHandlerTest extends EventHandlerTest { + + @Test + public void testAlertEventHandler() throws Exception { + + AlertEventHandler alertEventHandler = new AlertEventHandler(); + + Position position = new Position(); + position.set(Position.KEY_ALARM, Position.ALARM_GENERAL); + Collection events = alertEventHandler.analyzePosition(position); + assertNotNull(events); + Event event = (Event) events.toArray()[0]; + assertEquals(Event.TYPE_ALARM, event.getType()); + } + +} diff --git a/test/org/traccar/events/CommandResultEventHandlerTest.java b/test/org/traccar/events/CommandResultEventHandlerTest.java new file mode 100644 index 000000000..b09898b4a --- /dev/null +++ b/test/org/traccar/events/CommandResultEventHandlerTest.java @@ -0,0 +1,28 @@ +package org.traccar.events; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.Collection; + +import org.junit.Test; +import org.traccar.EventHandlerTest; +import org.traccar.model.Event; +import org.traccar.model.Position; + +public class CommandResultEventHandlerTest extends EventHandlerTest { + + @Test + public void testCommandResultEventHandler() throws Exception { + + CommandResultEventHandler commandResultEventHandler = new CommandResultEventHandler(); + + Position position = new Position(); + position.set(Position.KEY_RESULT, "Test Result"); + Collection events = commandResultEventHandler.analyzePosition(position); + assertNotNull(events); + Event event = (Event) events.toArray()[0]; + assertEquals(Event.TYPE_COMMAND_RESULT, event.getType()); + } + +} diff --git a/test/org/traccar/events/IgnitionEventHandlerTest.java b/test/org/traccar/events/IgnitionEventHandlerTest.java new file mode 100644 index 000000000..96df6e1ed --- /dev/null +++ b/test/org/traccar/events/IgnitionEventHandlerTest.java @@ -0,0 +1,29 @@ +package org.traccar.events; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.Collection; + +import org.junit.Test; +import org.traccar.EventHandlerTest; +import org.traccar.model.Event; +import org.traccar.model.Position; + +public class IgnitionEventHandlerTest extends EventHandlerTest{ + + @Test + public void testIgnitionEventHandler() throws Exception { + + IgnitionEventHandler ignitionEventHandler = new IgnitionEventHandler(); + + Position position = new Position(); + position.set(Position.KEY_IGNITION, true); + position.setValid(true); + Collection events = ignitionEventHandler.analyzePosition(position); + assertNotNull(events); + Event event = (Event) events.toArray()[0]; + assertEquals(Event.TYPE_IGNITION_ON, event.getType()); + } + +} diff --git a/test/org/traccar/events/MotionEventHandlerTest.java b/test/org/traccar/events/MotionEventHandlerTest.java new file mode 100644 index 000000000..34b2c481d --- /dev/null +++ b/test/org/traccar/events/MotionEventHandlerTest.java @@ -0,0 +1,29 @@ +package org.traccar.events; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.Collection; + +import org.junit.Test; +import org.traccar.EventHandlerTest; +import org.traccar.model.Event; +import org.traccar.model.Position; + +public class MotionEventHandlerTest extends EventHandlerTest { + + @Test + public void testMotionEventHandler() throws Exception { + + MotionEventHandler motionEventHandler = new MotionEventHandler(); + + Position position = new Position(); + position.setSpeed(10.0); + position.setValid(true); + Collection events = motionEventHandler.analyzePosition(position); + assertNotNull(events); + Event event = (Event) events.toArray()[0]; + assertEquals(Event.TYPE_DEVICE_MOVING, event.getType()); + } + +} -- cgit v1.2.3