mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-22 05:35:51 +00:00
update simulator junit tests;
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="resources"/>
|
||||
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/com.sap.sailing.gwt.ui"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
||||
+12
-15
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
@@ -28,39 +29,35 @@ public class SimulatorTest {
|
||||
|
||||
@Test
|
||||
public void testSailingSimulatorALL() {
|
||||
Position start = new DegreePosition(48.401856, -140.001526);
|
||||
Position end = new DegreePosition(49.143987, -139.987783);
|
||||
//System.out.println(start.getDistance(end).getKilometers());
|
||||
|
||||
// race course: copacabana, rio de janeiro, brasil
|
||||
Position start = new DegreePosition(-22.975779,-43.17421);
|
||||
Position end = new DegreePosition(-22.99016,-43.156013);
|
||||
System.out.println("race course size: "+start.getDistance(end).getKilometers());
|
||||
|
||||
List<Position> course = new LinkedList<Position>();
|
||||
course.add(start);
|
||||
course.add(end);
|
||||
PolarDiagram pd = new PolarDiagram49STG();//PolarDiagram49.CreateStandard49();
|
||||
|
||||
RectangularBoundary bd = new RectangularBoundary(start, end, 0.1);
|
||||
Position[][] positions = bd.extractGrid(10, 10);
|
||||
//RectangularBoundary new_bd = new RectangularBoundary(start, end, 0.1);
|
||||
//Speed knotSpeed = new KnotSpeedImpl(8);
|
||||
WindControlParameters windParameters = new WindControlParameters(10, 180);
|
||||
Bearing windBear = end.getBearingGreatCircle(start);
|
||||
WindControlParameters windParameters = new WindControlParameters(12.0, windBear.getDegrees());
|
||||
WindFieldGenerator wf = new WindFieldGeneratorBlastImpl(bd, windParameters);
|
||||
wf.setPositionGrid(positions);
|
||||
Date startDate = new Date(0);
|
||||
TimePoint startTime = new MillisecondsTimePoint(startDate.getTime());
|
||||
TimePoint timeStep = new MillisecondsTimePoint(30000);
|
||||
wf.generate(startTime, null, timeStep);
|
||||
|
||||
SimulationParameters param = new SimulationParametersImpl(course, pd, wf, SailingSimulatorUtil.freestyle);
|
||||
param.setProperty("Heuristic.targetTolerance[double]", 0.05);
|
||||
param.setProperty("Heuristic.timeResolution[long]", 30000.0);
|
||||
param.setProperty("Djikstra.gridv[int]", 10.0);
|
||||
param.setProperty("Djikstra.gridh[int]", 100.0);
|
||||
|
||||
|
||||
SailingSimulatorImpl sailingSim = new SailingSimulatorImpl(param);
|
||||
|
||||
Map<String, Path> paths = sailingSim.getAllPathsForLeg(new SimulatorUISelectionImpl(0, 0, 0, 0));
|
||||
|
||||
System.out.println(paths.get("2#Opportunistic").getPathPoints().size());
|
||||
System.out.println(paths.get("1#Omniscient").getPathPoints().size());
|
||||
|
||||
System.out.println("opportunistic path points: "+paths.get("2#Opportunistic").getPathPoints().size());
|
||||
System.out.println("omnciscient path points: "+paths.get("1#Omniscient").getPathPoints().size());
|
||||
|
||||
}
|
||||
|
||||
|
||||
+4
-5
@@ -16,7 +16,6 @@ import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.simulator.Path;
|
||||
import com.sap.sailing.simulator.PolarDiagram;
|
||||
import com.sap.sailing.simulator.SimulationParameters;
|
||||
import com.sap.sailing.simulator.TimedPositionWithSpeed;
|
||||
import com.sap.sailing.simulator.impl.PathGeneratorTreeGrowTarget;
|
||||
import com.sap.sailing.simulator.impl.PolarDiagram49STG;
|
||||
import com.sap.sailing.simulator.impl.RectangularBoundary;
|
||||
@@ -63,11 +62,11 @@ public class TreeGrowTest {
|
||||
|
||||
Path path = treeGrow.getPath();
|
||||
|
||||
for(TimedPositionWithSpeed pos : path.getPathPoints()) {
|
||||
System.out.println("tree-grow path points: "+path.getPathPoints().size());
|
||||
|
||||
System.out.println(""+pos.getPosition().getLatDeg()+", "+pos.getPosition().getLngDeg());
|
||||
|
||||
}
|
||||
//for(TimedPositionWithSpeed pos : path.getPathPoints()) {
|
||||
// System.out.println(""+pos.getPosition().getLatDeg()+", "+pos.getPosition().getLngDeg());
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+16
-11
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.simulator.test;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -9,9 +10,6 @@ import java.io.ObjectInputStream;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
@@ -27,6 +25,8 @@ import com.sap.sailing.simulator.windfield.WindFieldGenerator;
|
||||
|
||||
public class PathGenerator1TurnerTest {
|
||||
|
||||
private static final String RESOURCES = "resources/";
|
||||
|
||||
// private static final String POLAR_DIAGRAM_49_CSV_FILE_PATH = "resources/PolarDiagram49.csv";
|
||||
// private static final String POLAR_DIAGRAM_49_BETHWAITE_CSV_FILE_PATH = "resources/PolarDiagram49Bethwaite.csv";
|
||||
// private static final String POLAR_DIAGRAM_49_ORC_CSV_FILE_PATH = "resources/PolarDiagram49ORC.csv";
|
||||
@@ -38,17 +38,19 @@ public class PathGenerator1TurnerTest {
|
||||
private WindFieldGenerator _windField = null;
|
||||
private PathGenerator1Turner _pathGenerator = null;
|
||||
|
||||
@Before
|
||||
public static void main(String[] args) throws IOException {
|
||||
System.out.println("Collection of test methods for evaluating path segments.");
|
||||
}
|
||||
|
||||
public void initialize() throws IOException, ClassNotFoundException {
|
||||
|
||||
this._polarDiagram = new PolarDiagramCSV(POLAR_DIAGRAM_49_STG_CSV_FILE_PATH);
|
||||
this._simulationParameters = new SimulationParametersImpl(null, this._polarDiagram, null, SailingSimulatorUtil.measured);
|
||||
this._pathGenerator = new PathGenerator1Turner(this._simulationParameters);
|
||||
|
||||
this._windField = readWindFieldGeneratorFromExternalFile("C:\\java\\workspace\\sapsailingcapture\\java\\com.sap.sailing.simulator\\src\\resources\\windField.dat");
|
||||
this._windField = readWindFieldGeneratorFromExternalFile("windField.dat");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_get1Turner_allCourse() {
|
||||
|
||||
Position start = new DegreePosition(53.97207883355604, 10.890463283282314);
|
||||
@@ -74,7 +76,6 @@ public class PathGenerator1TurnerTest {
|
||||
Assert.assertEquals(1360533820118L, result.getTimePoint().asMillis());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_get1Turner_segment1() {
|
||||
|
||||
Position start = new DegreePosition(53.97042597845473, 10.895004272460938);
|
||||
@@ -100,7 +101,6 @@ public class PathGenerator1TurnerTest {
|
||||
Assert.assertEquals(1317552764000L, result.getTimePoint().asMillis());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_get1Turner_segment2() {
|
||||
|
||||
Position start = new DegreePosition(53.969066999999995, 10.893665);
|
||||
@@ -127,11 +127,11 @@ public class PathGenerator1TurnerTest {
|
||||
Assert.assertEquals(1317552752000L, result.getTimePoint().asMillis());
|
||||
}
|
||||
|
||||
public static WindFieldGenerator readWindFieldGeneratorFromExternalFile(final String fileName) {
|
||||
public WindFieldGenerator readWindFieldGeneratorFromExternalFile(final String fileName) {
|
||||
WindFieldGenerator result = null;
|
||||
|
||||
try {
|
||||
final InputStream file = new FileInputStream(fileName);
|
||||
final InputStream file = new FileInputStream(getFile(fileName));
|
||||
final InputStream buffer = new BufferedInputStream(file);
|
||||
final ObjectInput input = new ObjectInputStream(buffer);
|
||||
|
||||
@@ -152,4 +152,9 @@ public class PathGenerator1TurnerTest {
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private File getFile(String fileName) {
|
||||
return new File(RESOURCES + fileName);
|
||||
}
|
||||
|
||||
}
|
||||
+6
-8
@@ -1,12 +1,10 @@
|
||||
package com.sap.sailing.simulator.test;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.impl.MeterDistance;
|
||||
import com.sap.sailing.simulator.Path;
|
||||
@@ -27,7 +25,10 @@ public class PathGeneratorTracTracTest {
|
||||
|
||||
private static PathGeneratorTracTrac pathGenerator = null;
|
||||
|
||||
@BeforeClass
|
||||
public static void main(String[] args) throws IOException {
|
||||
System.out.println("Collection of test methods for evaluating tractrac race access.");
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
|
||||
System.setProperty("mongo.port", "10200");
|
||||
@@ -38,7 +39,6 @@ public class PathGeneratorTracTracTest {
|
||||
PathGeneratorTracTracTest.pathGenerator.setEvaluationParameters(RACE_URL, LIVE_URI, STORED_URI, WIND_SCALE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLeg() {
|
||||
|
||||
PathGeneratorTracTracTest.pathGenerator.setSelectionParameters(0, 0);
|
||||
@@ -58,7 +58,6 @@ public class PathGeneratorTracTracTest {
|
||||
Assert.assertEquals(98, leg3.getPathPoints().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLegPolyline() {
|
||||
|
||||
Distance maxDistance = new MeterDistance(4.88);
|
||||
@@ -80,7 +79,6 @@ public class PathGeneratorTracTracTest {
|
||||
Assert.assertEquals(7, legPolyline3.getPathPoints().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLegsNames() {
|
||||
|
||||
List<String> legsNames = PathGeneratorTracTracTest.pathGenerator.getLegsNames();
|
||||
+8
-10
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.simulator.test.analysis;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
@@ -11,8 +11,6 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
@@ -28,20 +26,20 @@ import com.sap.sailing.simulator.impl.SimulatorUtils;
|
||||
@SuppressWarnings("restriction")
|
||||
public class TestRacingEventPersistence {
|
||||
|
||||
RacingEventServiceImpl service;
|
||||
private RacesHandle raceHandle;
|
||||
String paramURLStr = "http://germanmaster.traclive.dk/events/event_20110929_Internatio/clientparams.php?event=event_20110929_Internatio&race=d1f521fa-ec52-11e0-a523-406186cbf87c";
|
||||
static RacingEventServiceImpl service;
|
||||
static RacesHandle raceHandle;
|
||||
static String paramURLStr = "http://germanmaster.traclive.dk/events/event_20110929_Internatio/clientparams.php?event=event_20110929_Internatio&race=d1f521fa-ec52-11e0-a523-406186cbf87c";
|
||||
// proxy
|
||||
String liveURIStr = "tcp://10.18.22.156:1520";
|
||||
String storedURIStr = "tcp://10.18.22.156:1521";
|
||||
static String liveURIStr = "tcp://10.18.22.156:1520";
|
||||
static String storedURIStr = "tcp://10.18.22.156:1521";
|
||||
|
||||
// non-proxy
|
||||
// String liveURIStr = "tcp://germanmaster.traclive.dk:4400";
|
||||
// String storedURIStr = "tcp://germanmaster.traclive.dk:4401";
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
public static void main(String[] args) throws Exception {
|
||||
System.out.println("Save race data to .data-files");
|
||||
|
||||
System.setProperty("mongo.port", "10200");
|
||||
System.setProperty("http.proxyHost", "proxy.wdf.sap.corp");
|
||||
+13
-10
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.simulator.test.analysis;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
@@ -10,9 +10,6 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.base.SpeedWithBearing;
|
||||
@@ -35,11 +32,11 @@ import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
|
||||
import com.sap.sailing.simulator.TimedPositionWithSpeed;
|
||||
import com.sap.sailing.simulator.impl.PathImpl;
|
||||
import com.sap.sailing.simulator.impl.TimedPositionWithSpeedImpl;
|
||||
import com.sap.sailing.simulator.test.util.TracTracReader;
|
||||
import com.sap.sailing.simulator.test.util.TracTracReaderFromFiles;
|
||||
|
||||
public class TestTimeComparison {
|
||||
|
||||
private static final String RESOURCES = "resources/";
|
||||
|
||||
private List<PositionDTO> turnPoints = null;
|
||||
private List<SimulatorWindDTO> allPoints = null;
|
||||
|
||||
@@ -48,7 +45,10 @@ public class TestTimeComparison {
|
||||
// private List<Integer> timeStepMillisecondsSizes = null;
|
||||
private Integer timeStepMilliseconds = 1000;
|
||||
|
||||
@Before
|
||||
public static void main(String[] args) throws Exception {
|
||||
System.out.println("Collection of test methods for evaluating simulator race times for calibration.");
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
|
||||
this.boatClassesIndexes = new HashMap<Integer, String>();
|
||||
@@ -70,10 +70,9 @@ public class TestTimeComparison {
|
||||
*/
|
||||
}
|
||||
|
||||
@Test
|
||||
public void runSimulation() throws Exception {
|
||||
|
||||
File dir = new File("C:\\Users\\i059829\\workspace\\sapsailingcapture\\java\\com.sap.sailing.simulator.test");
|
||||
File dir = getFile("");
|
||||
String[] flist = dir.list(new FilenameFilter() {
|
||||
@Override
|
||||
public boolean accept(File dir, String filename) {
|
||||
@@ -88,7 +87,7 @@ public class TestTimeComparison {
|
||||
// List<String> csvRows = new ArrayList<String>();
|
||||
|
||||
BufferedWriter outputCSV = new BufferedWriter(new FileWriter(
|
||||
"src\\com\\sap\\sailing\\simulator\\test\\analysis\\Resources\\test.csv"));
|
||||
getFile("test.csv")));
|
||||
String header = "Event, Race, Competitor, Leg#, Leg, GPS time";
|
||||
|
||||
for (String pd : boatClassesIndexes.values()) {
|
||||
@@ -249,4 +248,8 @@ public class TestTimeComparison {
|
||||
|
||||
}
|
||||
|
||||
private File getFile(String fileName) {
|
||||
return new File(RESOURCES + fileName);
|
||||
}
|
||||
|
||||
}
|
||||
+1
-3
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.simulator.test;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
@@ -8,8 +8,6 @@ import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.simulator.test.util.TracTracReader;
|
||||
import com.sap.sailing.simulator.test.util.TracTracReaderFromFiles;
|
||||
|
||||
public class TestTracTracReader {
|
||||
|
||||
+1
-2
@@ -1,6 +1,5 @@
|
||||
package com.sap.sailing.simulator.test;
|
||||
package com.sap.sailing.simulator.test.util;
|
||||
|
||||
import com.sap.sailing.simulator.test.util.TracTracWriter;
|
||||
|
||||
public class TestTracTracWriter {
|
||||
|
||||
@@ -2,7 +2,7 @@ wind velocity,0,6,8,10,12,14,16,20
|
||||
beat angles,43,43,43,43,44,45,45.6,47
|
||||
beat sog,0,4.5,6.25,8,8.5,9,9.3,10
|
||||
0,0,0,0,0,0,0,0,0
|
||||
30,1,1,1,1,1,1,1,1
|
||||
38,0,0,0,0,0,0,0,0
|
||||
90,0,4.73,6.56,8.4,8.93,9.45,9.77,10.5
|
||||
180,0,2.84,3.94,5.04,5.36,5.67,5.86,6.3
|
||||
run sog,0,8,11,14,15,16,17,19
|
||||
|
||||
|
@@ -2,7 +2,7 @@ wind velocity,0,6,8,10,12,14,16,20
|
||||
beat angles,43,43,43,43,44,45,45.6,47
|
||||
beat sog,0,4.5,6.25,8,8.5,9,9.3,10
|
||||
0,0,0,0,0,0,0,0,0
|
||||
30,1,1,1,1,1,1,1,1
|
||||
38,0,0,0,0,0,0,0,0
|
||||
90,0,4.73,6.56,8.4,8.93,9.45,9.77,10.5
|
||||
180,0,2.84,3.94,5.04,5.36,5.67,5.86,6.3
|
||||
run sog,0,8,11,14,15,16,17,19
|
||||
|
||||
|
Reference in New Issue
Block a user