diff options
author | Philipp Prangenberg <philipp.prangenberg@derkurier.de> | 2016-12-05 12:03:08 +0100 |
---|---|---|
committer | Philipp Prangenberg <philipp.prangenberg@derkurier.de> | 2016-12-05 12:03:08 +0100 |
commit | a21f436a58133f7da0cae06366d729665f3b8f9c (patch) | |
tree | 72ff1743d96f79e4a9d85b0d48715e5f9aa67cf9 /test/org/traccar/geofence/GeofencePolylineTest.java | |
parent | 960bf899414d89221e92138fdb98777c3f4f73ec (diff) | |
parent | 40607036c5aa6385a7ae3f3a283bf107238a5944 (diff) | |
download | trackermap-server-a21f436a58133f7da0cae06366d729665f3b8f9c.tar.gz trackermap-server-a21f436a58133f7da0cae06366d729665f3b8f9c.tar.bz2 trackermap-server-a21f436a58133f7da0cae06366d729665f3b8f9c.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'test/org/traccar/geofence/GeofencePolylineTest.java')
-rw-r--r-- | test/org/traccar/geofence/GeofencePolylineTest.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/org/traccar/geofence/GeofencePolylineTest.java b/test/org/traccar/geofence/GeofencePolylineTest.java new file mode 100644 index 000000000..71aeb4081 --- /dev/null +++ b/test/org/traccar/geofence/GeofencePolylineTest.java @@ -0,0 +1,45 @@ +package org.traccar.geofence; + +import java.text.ParseException; + +import org.junit.Assert; +import org.junit.Test; + +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); + Assert.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); + Assert.assertTrue(geofenceGeometry.containsPoint(56.83801, 60.59748)); + ((GeofencePolyline) geofenceGeometry).setDistance(15); + Assert.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); + Assert.assertTrue(geofenceGeometry.containsPoint(56.83847, 60.60458)); + Assert.assertTrue(!geofenceGeometry.containsPoint(56.83764, 60.59725)); + Assert.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); + Assert.assertTrue(geofenceGeometry.containsPoint(66.95, 180.0)); + Assert.assertTrue(!geofenceGeometry.containsPoint(66.96, 180.0)); + Assert.assertTrue(!geofenceGeometry.containsPoint(66.9509, -179.83)); + } +} |