aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/traccar/geofence/GeofencePolylineTest.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2019-03-31 22:35:39 -0700
committerAnton Tananaev <anton.tananaev@gmail.com>2019-03-31 22:35:39 -0700
commit59416923dcb3a756eaf532cc4259f2f6625c0762 (patch)
tree9082dae6616deac8fda432b7bfd80e4a52b6d9dc /src/test/java/org/traccar/geofence/GeofencePolylineTest.java
parent79a129dd6327d932133d6b9a50190d3f4927bff9 (diff)
downloadtraccar-server-59416923dcb3a756eaf532cc4259f2f6625c0762.tar.gz
traccar-server-59416923dcb3a756eaf532cc4259f2f6625c0762.tar.bz2
traccar-server-59416923dcb3a756eaf532cc4259f2f6625c0762.zip
Convert project to gradle
Diffstat (limited to 'src/test/java/org/traccar/geofence/GeofencePolylineTest.java')
-rw-r--r--src/test/java/org/traccar/geofence/GeofencePolylineTest.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/test/java/org/traccar/geofence/GeofencePolylineTest.java b/src/test/java/org/traccar/geofence/GeofencePolylineTest.java
new file mode 100644
index 000000000..1e9dcb7c3
--- /dev/null
+++ b/src/test/java/org/traccar/geofence/GeofencePolylineTest.java
@@ -0,0 +1,47 @@
+package org.traccar.geofence;
+
+import java.text.ParseException;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class GeofencePolylineTest {
+
+ @Test
+ public void testPolylineWkt() throws ParseException {
+ String test = "LINESTRING (55.75474 37.61823, 55.75513 37.61888, 55.7535 37.6222, 55.75315 37.62165)";
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline();
+ geofenceGeometry.fromWkt(test);
+ assertEquals(geofenceGeometry.toWkt(), test);
+ }
+
+ @Test
+ public void testContainsPolyline1Interval() throws ParseException {
+ String test = "LINESTRING (56.83777 60.59833, 56.83766 60.5968)";
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 35);
+ assertTrue(geofenceGeometry.containsPoint(56.83801, 60.59748));
+ ((GeofencePolyline) geofenceGeometry).setDistance(15);
+ assertTrue(!geofenceGeometry.containsPoint(56.83801, 60.59748));
+ }
+
+ @Test
+ public void testContainsPolyline3Intervals() throws ParseException {
+ String test = "LINESTRING (56.836 60.6126, 56.8393 60.6114, 56.83887 60.60811, 56.83782 60.5988)";
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 15);
+ assertTrue(geofenceGeometry.containsPoint(56.83847, 60.60458));
+ assertTrue(!geofenceGeometry.containsPoint(56.83764, 60.59725));
+ assertTrue(!geofenceGeometry.containsPoint(56.83861, 60.60822));
+
+ }
+
+ @Test
+ public void testContainsPolylineNear180() throws ParseException {
+ String test = "LINESTRING (66.9494 179.838, 66.9508 -179.8496)";
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 25);
+ assertTrue(geofenceGeometry.containsPoint(66.95, 180.0));
+ assertTrue(!geofenceGeometry.containsPoint(66.96, 180.0));
+ assertTrue(!geofenceGeometry.containsPoint(66.9509, -179.83));
+ }
+}