mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
Merge branch 'develop' into Story64_SailsAnimations
# Conflicts: # src/main/java/seng302/model/Yacht.java
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
//package seng302;
|
||||
//
|
||||
//import org.junit.Test;
|
||||
//import seng302.model.Boat;
|
||||
//
|
||||
//import static org.junit.Assert.assertEquals;
|
||||
//
|
||||
///**
|
||||
// * Unit test for the Team class.
|
||||
// */
|
||||
//public class BoatTest {
|
||||
//
|
||||
// @Test
|
||||
// public void testBoatCreation() {
|
||||
// Boat boat1 = new Boat("Team 1");
|
||||
// assertEquals(boat1.getTeamName(), "Team 1");
|
||||
// assertEquals(boat1.getVelocity(), (double) 10.0, 1e-15);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void testChangeTeamName() {
|
||||
// Boat boat1 = new Boat("Team 1");
|
||||
// boat1.setTeamName("Team 2");
|
||||
// assertEquals(boat1.getTeamName(), "Team 2");
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void testSetVelocity() {
|
||||
// Boat boat1 = new Boat("Team 1", 29.0, "", 100);
|
||||
// assertEquals(boat1.getVelocity(), (double) 29.0, 1e-15);
|
||||
//
|
||||
// boat1.setVelocity(12.0);
|
||||
// assertEquals(boat1.getVelocity(), (double)12.0, 1e-15);
|
||||
// }
|
||||
//}
|
||||
@@ -1,67 +0,0 @@
|
||||
package seng302;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
|
||||
import javafx.geometry.Point2D;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import seng302.utilities.GeoUtility;
|
||||
|
||||
/**
|
||||
* Test Class for the GeometryUtils class
|
||||
* Created by wmu16 on 24/05/17.
|
||||
*/
|
||||
public class TestGeoUtils {
|
||||
|
||||
//Line in x = y
|
||||
private Point2D linePoint1 = new Point2D(0, 0);
|
||||
private Point2D linePoint2 = new Point2D(1, 1);
|
||||
|
||||
//Point below x = y
|
||||
private Point2D arbitraryPoint1 = new Point2D(1, 0);
|
||||
|
||||
//Point above x = y
|
||||
private Point2D arbitraryPoint2 = new Point2D(0, 1);
|
||||
|
||||
//Point on x = y
|
||||
private Point2D arbitraryPoint3 = new Point2D(2, 2);
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testLineFunction() {
|
||||
|
||||
Integer lineFunctionResult1 = GeoUtility.lineFunction(linePoint1, linePoint2, arbitraryPoint1);
|
||||
Integer lineFunctionResult2 = GeoUtility.lineFunction(linePoint1, linePoint2, arbitraryPoint2);
|
||||
Integer lineFunctionResult3 = GeoUtility.lineFunction(linePoint1, linePoint2, arbitraryPoint3);
|
||||
|
||||
//Point1 and Point2 are on opposite sides
|
||||
assertEquals(Math.abs(lineFunctionResult1), Math.abs(lineFunctionResult2));
|
||||
assertNotEquals(lineFunctionResult1, lineFunctionResult2);
|
||||
|
||||
//Point3 is on the line
|
||||
assertEquals((long) lineFunctionResult3, 0L);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMakeArbitraryVectorPoint() {
|
||||
|
||||
//Make a point (1,0) from point (0,0)
|
||||
Point2D newPoint = GeoUtility.makeArbitraryVectorPoint(linePoint1, 0d, 1d);
|
||||
Point2D expected = new Point2D(1,0);
|
||||
|
||||
assertEquals(expected.getX(), newPoint.getX(), 1E-6);
|
||||
assertEquals(expected.getY(), newPoint.getY(), 1E-6);
|
||||
|
||||
newPoint = GeoUtility.makeArbitraryVectorPoint(linePoint1, 90d, 1d);
|
||||
expected = new Point2D(0, 1);
|
||||
|
||||
assertEquals(expected.getX(), newPoint.getX(), 1E-6);
|
||||
assertEquals(expected.getY(), newPoint.getY(), 1E-6);
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package seng302.gameServer.server.simulator;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
import seng302.model.GeoPoint;
|
||||
import seng302.utilities.GeoUtility;
|
||||
|
||||
/**
|
||||
* To test methods in GeoUtility.
|
||||
* Created by Haoming on 28/04/17.
|
||||
*/
|
||||
public class GeoUtilityTest {
|
||||
|
||||
private GeoPoint p1 = new GeoPoint(57.670333, 11.827833);
|
||||
private GeoPoint p2 = new GeoPoint(57.671524, 11.844495);
|
||||
private GeoPoint p3 = new GeoPoint(57.670822, 11.843392);
|
||||
private GeoPoint p4 = new GeoPoint(25.694829, 98.392049);
|
||||
|
||||
private double toleranceRate = 0.01;
|
||||
|
||||
@Test
|
||||
public void getDistance() throws Exception {
|
||||
double expected, actual;
|
||||
|
||||
actual = GeoUtility.getDistance(p1, p2);
|
||||
expected = 1000;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getDistance(p1, p3);
|
||||
expected = 927;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getDistance(p2, p4);
|
||||
expected = 7430180;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getBearing() throws Exception {
|
||||
double expected, actual;
|
||||
|
||||
actual = GeoUtility.getBearing(p1, p2);
|
||||
expected = 82;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getBearing(p1, p3);
|
||||
expected = 86;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getBearing(p2, p4);
|
||||
expected = 78;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getGeoCoordinate() throws Exception {
|
||||
GeoPoint expected, actual;
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p1, 82.0, 1000.0);
|
||||
expected = p2;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p1, 86.0, 927.0);
|
||||
expected = p3;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p2, 78.0, 7430180.0);
|
||||
expected = p4;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package seng302.model.mark;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import seng302.model.GeoPoint;
|
||||
|
||||
/**
|
||||
* A class to test the compound mark calss
|
||||
* Created by wmu16 on 10/08/17.
|
||||
*/
|
||||
public class CompoundMarkTest {
|
||||
|
||||
private Mark mark1;
|
||||
private Mark mark2;
|
||||
private CompoundMark gateMark;
|
||||
private CompoundMark singleMark;
|
||||
|
||||
private static Double TOLERANCE_RATIO = 0.01;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
mark1 = new Mark("Mark1", 57.670333, 11.842833, 0);
|
||||
mark2 = new Mark("Mark2", 57.671524, 11.844495, 1);
|
||||
|
||||
List<Mark> gateMarks = new ArrayList<Mark>();
|
||||
gateMarks.add(mark1);
|
||||
gateMarks.add(mark2);
|
||||
|
||||
List<Mark> singleMarks = new ArrayList<Mark>();
|
||||
singleMarks.add(mark1);
|
||||
|
||||
gateMark = new CompoundMark(0, "Fun Mark", gateMarks);
|
||||
singleMark = new CompoundMark(1, "Awesome Mark", singleMarks);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getSubMark() throws Exception {
|
||||
assertEquals(mark1, gateMark.getSubMark(1));
|
||||
assertEquals(mark2, gateMark.getSubMark(2));
|
||||
|
||||
assertEquals(mark1, singleMark.getSubMark(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMidPoint() throws Exception {
|
||||
GeoPoint result = gateMark.getMidPoint();
|
||||
assertEquals(57.6709285, result.getLat(), result.getLat() * TOLERANCE_RATIO);
|
||||
assertEquals(11.843664, result.getLng(), result.getLng() * TOLERANCE_RATIO);
|
||||
|
||||
result = singleMark.getMidPoint();
|
||||
assertEquals(result, mark1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isGate() throws Exception {
|
||||
assertTrue(gateMark.isGate());
|
||||
assertFalse(singleMark.isGate());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
//package seng302.model.mark;
|
||||
//
|
||||
//import static org.junit.Assert.assertEquals;
|
||||
//import static org.junit.Assert.assertTrue;
|
||||
//
|
||||
//import org.junit.Before;
|
||||
//import org.junit.Test;
|
||||
//
|
||||
///**
|
||||
// * Created by Haoming on 17/3/17.
|
||||
// */
|
||||
//public class MarkTest {
|
||||
//
|
||||
// private SingleMark singleMark1;
|
||||
// private SingleMark singleMark2;
|
||||
// private GateMark gateMark;
|
||||
//
|
||||
// @Before
|
||||
// public void setUp() throws Exception {
|
||||
// this.singleMark1 = new SingleMark("testMark_SM1", 12.23234, -34.342, 1, 0);
|
||||
// this.singleMark2 = new SingleMark("testMark_SM2", 12.23239, -34.352, 2, 1);
|
||||
// this.gateMark = new GateMark("testMark_GM", MarkType.OPEN_GATE, singleMark1, singleMark2, singleMark1.getLatitude(), singleMark2.getLongitude(), 2);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void getName() throws Exception {
|
||||
// assertEquals("testMark_SM1", this.singleMark1.getName());
|
||||
// assertEquals("testMark_GM", this.gateMark.getName());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void getMarkType() throws Exception {
|
||||
// assertTrue(this.singleMark2.getMarkType() == MarkType.SINGLE_MARK);
|
||||
// assertTrue(this.gateMark.getMarkType() == MarkType.OPEN_GATE);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void getMarkContent() throws Exception {
|
||||
// assertEquals(12.23234, this.singleMark1.getLatitude(), 1e-10);
|
||||
// assertEquals(-34.342, this.singleMark1.getLongitude(), 1e-10);
|
||||
// assertEquals("testMark_SM1", this.gateMark.getSingleMark1().getName());
|
||||
// assertEquals(-34.352, this.gateMark.getSingleMark2().getLongitude(), 1e-10);
|
||||
// }
|
||||
//
|
||||
//}
|
||||
@@ -0,0 +1,71 @@
|
||||
package seng302.models;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import seng302.model.mark.CompoundMark;
|
||||
import seng302.model.mark.Mark;
|
||||
import seng302.model.mark.MarkOrder;
|
||||
|
||||
import static junit.framework.TestCase.assertEquals;
|
||||
import static junit.framework.TestCase.assertFalse;
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
|
||||
public class MarkOrderTest {
|
||||
private static MarkOrder markOrder;
|
||||
private static Integer currentSeqID;
|
||||
|
||||
@BeforeClass
|
||||
public static void setup(){
|
||||
markOrder = new MarkOrder();
|
||||
currentSeqID = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test to ensure marks are loaded from XML
|
||||
*/
|
||||
@Test
|
||||
public void testMarkOrderLoadedFromXML(){
|
||||
assertTrue(markOrder != null);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testIsLastMark() {
|
||||
currentSeqID = 0;
|
||||
assertFalse(markOrder.isLastMark(currentSeqID));
|
||||
|
||||
currentSeqID = markOrder.getMarkOrder().size() - 1;
|
||||
assertTrue(markOrder.isLastMark(currentSeqID));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetNextMark() {
|
||||
currentSeqID = 4;
|
||||
CompoundMark nextMark = markOrder.getMarkOrder().get(4 + 1);
|
||||
assertEquals(nextMark, markOrder.getNextMark(currentSeqID));
|
||||
|
||||
currentSeqID = 3;
|
||||
nextMark = markOrder.getMarkOrder().get(3 + 1);
|
||||
assertEquals(nextMark, markOrder.getNextMark(currentSeqID));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetCurrentMark() {
|
||||
currentSeqID = 0;
|
||||
CompoundMark currentMark = markOrder.getMarkOrder().get(0);
|
||||
assertEquals(currentMark, markOrder.getCurrentMark(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPreviousMark() {
|
||||
currentSeqID = 1;
|
||||
CompoundMark prevMark = markOrder.getMarkOrder().get(0);
|
||||
assertEquals(prevMark, markOrder.getPreviousMark(currentSeqID));
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void tearDown(){
|
||||
markOrder = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
package seng302.utilities;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javafx.geometry.Point2D;
|
||||
import org.junit.Test;
|
||||
import seng302.model.GeoPoint;
|
||||
|
||||
/**
|
||||
* http://www.geoplaner.com/ For plotting geo points for visualisation
|
||||
* To test methods in GeoUtility.
|
||||
* Use this site to calculate distances
|
||||
* https://rechneronline.de/geo-coordinates/#distance
|
||||
* Created by Haoming on 28/04/17.
|
||||
*/
|
||||
public class GeoUtilityTest {
|
||||
|
||||
|
||||
//Line in x = y
|
||||
private Point2D linePoint1 = new Point2D(0, 0);
|
||||
private Point2D linePoint2 = new Point2D(1, 1);
|
||||
|
||||
private Point2D arbitraryPoint1 = new Point2D(1, 0); //Point below x = y
|
||||
private Point2D arbitraryPoint2 = new Point2D(0, 1); //Point above x = y
|
||||
private Point2D arbitraryPoint3 = new Point2D(2, 2); //Point on x = y
|
||||
|
||||
private GeoPoint p1 = new GeoPoint(57.670333, 11.827833);
|
||||
private GeoPoint p2 = new GeoPoint(57.671524, 11.844495);
|
||||
private GeoPoint p3 = new GeoPoint(57.670822, 11.843392);
|
||||
private GeoPoint p4 = new GeoPoint(25.694829, 98.392049);
|
||||
private GeoPoint p5 = new GeoPoint(57.671829, 11.842049);
|
||||
|
||||
private double toleranceRate = 0.01;
|
||||
|
||||
|
||||
@Test
|
||||
public void getBearing() throws Exception {
|
||||
double expected, actual;
|
||||
|
||||
actual = GeoUtility.getBearing(p1, p2);
|
||||
expected = 82;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getBearing(p1, p3);
|
||||
expected = 86;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getBearing(p2, p4);
|
||||
expected = 78;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getGeoCoordinate() throws Exception {
|
||||
GeoPoint expected, actual;
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p1, 82.0, 1000.0);
|
||||
expected = p2;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p1, 86.0, 927.0);
|
||||
expected = p3;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getGeoCoordinate(p2, 78.0, 7430180.0);
|
||||
expected = p4;
|
||||
assertEquals(expected.getLat(), actual.getLat(), expected.getLat() * toleranceRate);
|
||||
assertEquals(expected.getLng(), actual.getLng(), expected.getLng() * toleranceRate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testGetDistance() throws Exception {
|
||||
double expected, actual;
|
||||
|
||||
actual = GeoUtility.getDistance(p1, p2);
|
||||
expected = 1000;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getDistance(p1, p3);
|
||||
expected = 927;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
actual = GeoUtility.getDistance(p2, p4);
|
||||
expected = 7430180;
|
||||
assertEquals(expected, actual, expected * toleranceRate);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLineFunction() {
|
||||
|
||||
Integer lineFunctionResult1 = GeoUtility
|
||||
.lineFunction(linePoint1, linePoint2, arbitraryPoint1);
|
||||
Integer lineFunctionResult2 = GeoUtility
|
||||
.lineFunction(linePoint1, linePoint2, arbitraryPoint2);
|
||||
Integer lineFunctionResult3 = GeoUtility
|
||||
.lineFunction(linePoint1, linePoint2, arbitraryPoint3);
|
||||
|
||||
//Point1 and Point2 are on opposite sides
|
||||
assertEquals(Math.abs(lineFunctionResult1), Math.abs(lineFunctionResult2));
|
||||
assertNotEquals(lineFunctionResult1, lineFunctionResult2);
|
||||
|
||||
//Point3 is on the line
|
||||
assertEquals((long) lineFunctionResult3, 0L);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMakeArbitraryVectorPoint() {
|
||||
|
||||
//Make a point (1,0) from point (0,0)
|
||||
Point2D newPoint = GeoUtility.makeArbitraryVectorPoint(linePoint1, 0d, 1d);
|
||||
Point2D expected = new Point2D(1, 0);
|
||||
|
||||
assertEquals(expected.getX(), newPoint.getX(), 1E-6);
|
||||
assertEquals(expected.getY(), newPoint.getY(), 1E-6);
|
||||
|
||||
newPoint = GeoUtility.makeArbitraryVectorPoint(linePoint1, 90d, 1d);
|
||||
expected = new Point2D(0, 1);
|
||||
|
||||
assertEquals(expected.getX(), newPoint.getX(), 1E-6);
|
||||
assertEquals(expected.getY(), newPoint.getY(), 1E-6);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsPointInTriangle() {
|
||||
GeoPoint v1 = new GeoPoint(57.670333, 11.842833);
|
||||
GeoPoint v2 = new GeoPoint(57.671524, 11.844495);
|
||||
GeoPoint v3 = new GeoPoint(57.671829, 11.842049);
|
||||
GeoPoint p1 = new GeoPoint(57.670822, 11.843192); // inside triangle
|
||||
GeoPoint p2 = new GeoPoint(57.670892, 11.843642); // outside triangle
|
||||
|
||||
// benchmark test. 100,000 calculations for 0.336 seconds
|
||||
// long startTime = System.nanoTime();
|
||||
// for (int i = 0; i < 100000; i++) {
|
||||
// assertTrue(GeoUtility.isPointInTriangle(v1, v2, v3, p1));
|
||||
// }
|
||||
// System.out.println((System.nanoTime() - startTime) / 1000000000.0);
|
||||
|
||||
// test for different orders of vertices, which should not affect the result
|
||||
assertTrue(GeoUtility.isPointInTriangle(v2, v1, v3, p1));
|
||||
assertTrue(GeoUtility.isPointInTriangle(v3, v1, v2, p1));
|
||||
|
||||
assertFalse(GeoUtility.isPointInTriangle(v1, v2, v3, p2));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testCheckCrossedGate() {
|
||||
GeoPoint mark1 = new GeoPoint(37.40937, -122.62233);
|
||||
GeoPoint mark2 = new GeoPoint(37.40938, -122.62154);
|
||||
GeoPoint location1 = new GeoPoint(37.40964, -122.62196);
|
||||
GeoPoint location2 = new GeoPoint(37.40910, -122.62189);
|
||||
GeoPoint location3 = new GeoPoint(37.40949, -122.62202);
|
||||
GeoPoint location4 = new GeoPoint(37.40927, -122.62152);
|
||||
|
||||
// M1 -> M3 enters from CCW side
|
||||
assertTrue(GeoUtility.checkCrossedLine(mark1, mark2, location1, location2) == 2);
|
||||
// M1 -> M3 doesn't across
|
||||
assertFalse(GeoUtility.checkCrossedLine(mark1, mark2, location1, location3) > 0);
|
||||
// M2 -> M3 enters from CW side
|
||||
assertTrue(GeoUtility.checkCrossedLine(mark1, mark2, location2, location3) == 1);
|
||||
// order changes intersect direction
|
||||
assertTrue(GeoUtility.checkCrossedLine(mark2, mark1, location2, location3) == 2);
|
||||
assertTrue(GeoUtility.checkCrossedLine(mark1, mark2, location3, location2) == 2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDirtyMiddlePoint() {
|
||||
GeoPoint result = GeoUtility.getDirtyMidPoint(p1, p2);
|
||||
assertEquals(57.6709285, result.getLat(), result.getLat() * toleranceRate);
|
||||
assertEquals(11.836164, result.getLng(), result.getLng() * toleranceRate);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user