diff options
author | Abyss777 <abyss@fox5.ru> | 2016-11-27 16:01:24 +0700 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2016-11-27 16:01:24 +0700 |
commit | f933147c0cba53df96448a64a2ba58dda4da1659 (patch) | |
tree | 4103302744f4ff1cfc5c3ff207aa68b516d7ee8c /test/org/traccar/geofence/GeofencePolygonTest.java | |
parent | 5ea4572553a84126b7e9f06c822e1a183413a558 (diff) | |
download | trackermap-server-f933147c0cba53df96448a64a2ba58dda4da1659.tar.gz trackermap-server-f933147c0cba53df96448a64a2ba58dda4da1659.tar.bz2 trackermap-server-f933147c0cba53df96448a64a2ba58dda4da1659.zip |
- Remove try-catch frome tests
- Fixed longitude normalizing for geofences near 180 longitude
- Added more tests
- Other fixes
Diffstat (limited to 'test/org/traccar/geofence/GeofencePolygonTest.java')
-rw-r--r-- | test/org/traccar/geofence/GeofencePolygonTest.java | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/test/org/traccar/geofence/GeofencePolygonTest.java b/test/org/traccar/geofence/GeofencePolygonTest.java index e3d6aaa29..361e7b70f 100644 --- a/test/org/traccar/geofence/GeofencePolygonTest.java +++ b/test/org/traccar/geofence/GeofencePolygonTest.java @@ -8,31 +8,43 @@ import org.junit.Test; public class GeofencePolygonTest { @Test - public void testPolygonWKT() { + public void testPolygonWkt() throws ParseException { String test = "POLYGON ((55.75474 37.61823, 55.75513 37.61888, 55.7535 37.6222, 55.75315 37.62165))"; GeofenceGeometry geofenceGeometry = new GeofencePolygon(); - try { geofenceGeometry.fromWkt(test); - } catch (ParseException e){ - Assert.assertTrue("ParseExceprion: " + e.getMessage(), true); - } Assert.assertEquals(geofenceGeometry.toWkt(), test); } @Test - public void testContainsPolygon() { + public void testContainsPolygon() throws ParseException { String test = "POLYGON ((55.75474 37.61823, 55.75513 37.61888, 55.7535 37.6222, 55.75315 37.62165))"; GeofenceGeometry geofenceGeometry = new GeofencePolygon(); - try { geofenceGeometry.fromWkt(test); - } catch (ParseException e){ - Assert.assertTrue("ParseExceprion: " + e.getMessage(), true); - } - Assert.assertTrue(geofenceGeometry.containsPoint(55.75476, 37.61915)); - Assert.assertTrue(!geofenceGeometry.containsPoint(55.75545, 37.61921)); } + + @Test + public void testContainsPolygon180() throws ParseException { + String test = "POLYGON ((66.9494 179.838, 66.9508 -179.8496, 66.8406 -180.0014))"; + GeofenceGeometry geofenceGeometry = new GeofencePolygon(); + geofenceGeometry.fromWkt(test); + Assert.assertTrue(geofenceGeometry.containsPoint(66.9015, -180.0096)); + Assert.assertTrue(geofenceGeometry.containsPoint(66.9015, 179.991)); + Assert.assertTrue(!geofenceGeometry.containsPoint(66.8368, -179.8792)); + + } + + @Test + public void testContainsPolygon0() throws ParseException { + String test = "POLYGON ((51.1966 -0.6207, 51.1897 0.4147, 50.9377 0.5136, 50.8675 -0.6082))"; + GeofenceGeometry geofenceGeometry = new GeofencePolygon(); + geofenceGeometry.fromWkt(test); + Assert.assertTrue(geofenceGeometry.containsPoint(51.0466, -0.0165)); + Assert.assertTrue(geofenceGeometry.containsPoint(51.0466, 0.018)); + Assert.assertTrue(!geofenceGeometry.containsPoint(50.9477, 0.5836)); + + } } |