update simulator junit tests;

This commit is contained in:
Christopher Ronnewinkel (D036654)
2013-05-21 16:10:11 +02:00
parent 09587e3216
commit a724c4f4d6
13 changed files with 64 additions and 66 deletions
@@ -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"/>
@@ -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());
}
@@ -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());
//}
}
}
@@ -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);
}
}
@@ -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();
@@ -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");
@@ -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,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,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
1 wind velocity 0 6 8 10 12 14 16 20
2 beat angles 43 43 43 43 44 45 45.6 47
3 beat sog 0 4.5 6.25 8 8.5 9 9.3 10
4 0 0 0 0 0 0 0 0 0
5 30 38 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
6 90 0 4.73 6.56 8.4 8.93 9.45 9.77 10.5
7 180 0 2.84 3.94 5.04 5.36 5.67 5.86 6.3
8 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
1 wind velocity 0 6 8 10 12 14 16 20
2 beat angles 43 43 43 43 44 45 45.6 47
3 beat sog 0 4.5 6.25 8 8.5 9 9.3 10
4 0 0 0 0 0 0 0 0 0
5 30 38 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
6 90 0 4.73 6.56 8.4 8.93 9.45 9.77 10.5
7 180 0 2.84 3.94 5.04 5.36 5.67 5.86 6.3
8 run sog 0 8 11 14 15 16 17 19