update test setup;

This commit is contained in:
Christopher Ronnewinkel (D036654)
2013-05-21 16:35:33 +02:00
parent e672d2ec6e
commit 8847366e88
3 changed files with 6 additions and 258 deletions
@@ -5,5 +5,6 @@
<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"/>
</classpath>
@@ -1,4 +1,6 @@
source.. = src/
source.. = src/,\
resources/
output.. = bin/
bin.includes = META-INF/,\
.
.,\
resources/
@@ -1,4 +1,3 @@
<<<<<<< HEAD:java/com.sap.sailing.simulator.test/src/com/sap/sailing/simulator/test/util/TestTimeComparison.java
package com.sap.sailing.simulator.test.util;
import java.io.BufferedWriter;
@@ -17,6 +16,7 @@ import com.sap.sailing.domain.base.SpeedWithBearing;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.common.dto.PositionDTO;
import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.GPSFixTrack;
@@ -25,7 +25,6 @@ import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.Wind;
import com.sap.sailing.gwt.ui.server.SimulatorServiceImpl;
import com.sap.sailing.gwt.ui.shared.ConfigurationException;
import com.sap.sailing.gwt.ui.shared.PositionDTO;
import com.sap.sailing.gwt.ui.shared.RequestTotalTimeDTO;
import com.sap.sailing.gwt.ui.shared.ResponseTotalTimeDTO;
import com.sap.sailing.gwt.ui.shared.SimulatorUISelectionDTO;
@@ -254,257 +253,3 @@ public class TestTimeComparison {
}
}
=======
//package com.sap.sailing.simulator.test.analysis;
//
//import java.io.BufferedWriter;
//import java.io.File;
//import java.io.FileWriter;
//import java.io.FilenameFilter;
//import java.util.ArrayList;
//import java.util.HashMap;
//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;
//import com.sap.sailing.domain.common.Position;
//import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
//import com.sap.sailing.domain.common.TimePoint;
//import com.sap.sailing.domain.common.dto.PositionDTO;
//import com.sap.sailing.domain.tracking.GPSFixMoving;
//import com.sap.sailing.domain.tracking.GPSFixTrack;
//import com.sap.sailing.domain.tracking.MarkPassing;
//import com.sap.sailing.domain.tracking.TrackedRace;
//import com.sap.sailing.domain.tracking.Wind;
//import com.sap.sailing.gwt.ui.server.SimulatorServiceImpl;
//import com.sap.sailing.gwt.ui.shared.ConfigurationException;
//import com.sap.sailing.gwt.ui.shared.PositionDTO;
//import com.sap.sailing.gwt.ui.shared.RequestTotalTimeDTO;
//import com.sap.sailing.gwt.ui.shared.ResponseTotalTimeDTO;
//import com.sap.sailing.gwt.ui.shared.SimulatorUISelectionDTO;
//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 List<PositionDTO> turnPoints = null;
// private List<SimulatorWindDTO> allPoints = null;
//
// private Map<Integer, String> boatClassesIndexes = null;
// // private Map<Integer, String> averageWindFlags = null;
// // private List<Integer> timeStepMillisecondsSizes = null;
// private Integer timeStepMilliseconds = 1000;
//
// @Before
// public void initialize() {
//
// this.boatClassesIndexes = new HashMap<Integer, String>();
// this.boatClassesIndexes.put(0, "49er");
// this.boatClassesIndexes.put(1, "49er rBethwaite");
// this.boatClassesIndexes.put(2, "49er ORC");
// this.boatClassesIndexes.put(3, "49er STG");
// this.boatClassesIndexes.put(4, "505 STG");
//
// /*
// * this.averageWindFlags = new HashMap<Integer, String>(); this.averageWindFlags.put(0, "default average wind");
// * this.averageWindFlags.put(1, "real average wind");
// */
//
// /*
// * this.timeStepMillisecondsSizes = new ArrayList<Integer>(); this.timeStepMillisecondsSizes.add(1000);
// * this.timeStepMillisecondsSizes.add(1250); this.timeStepMillisecondsSizes.add(1500);
// * this.timeStepMillisecondsSizes.add(1750); this.timeStepMillisecondsSizes.add(2000);
// */
// }
//
// @Test
// public void runSimulation() throws Exception {
//
// File dir = new File("C:\\Users\\i059829\\workspace\\sapsailingcapture\\java\\com.sap.sailing.simulator.test");
// String[] flist = dir.list(new FilenameFilter() {
// @Override
// public boolean accept(File dir, String filename) {
// return filename.endsWith(".data");
// }
// });
//
// TracTracReader ttreader = new TracTracReaderFromFiles(flist);
//
// List<TrackedRace> lst = ttreader.read();
//
// // List<String> csvRows = new ArrayList<String>();
//
// BufferedWriter outputCSV = new BufferedWriter(new FileWriter(
// "src\\com\\sap\\sailing\\simulator\\test\\analysis\\Resources\\test.csv"));
// String header = "Event, Race, Competitor, Leg#, Leg, GPS time";
//
// for (String pd : boatClassesIndexes.values()) {
// header += ", " + pd;
// }
// header += ", Avg Wind Speed, Avg Wind Bearing, Avg Boat Speed, Avg Boat Bearing";
//
// outputCSV.write(header);
// outputCSV.newLine();
//
// for (TrackedRace tr : lst) {
//
// // String csvLine = "";
// // System.out.println(tr.getRace().getBoatClass());;
// RegattaAndRaceIdentifier id = tr.getRaceIdentifier();
// Iterable<Competitor> competitors = tr.getRace().getCompetitors();
// List<Leg> legs = tr.getRace().getCourse().getLegs();
// // System.out.println(legs);
// // System.out.println(id.getRaceName() + "/" + id.getRegattaName());
//
// int competitorIndex = -1;
// for (Competitor competitor : competitors) {
// competitorIndex++;
// GPSFixTrack<Competitor, GPSFixMoving> track = tr.getTrack(competitor);
// track.lockForRead();
// Iterator<GPSFixMoving> it = track.getFixes().iterator();
//
// int legIndex = -1;
// for (Leg leg : legs) {
// legIndex++;
// List<TimedPositionWithSpeed> polylinePoints = new ArrayList<TimedPositionWithSpeed>();
// MarkPassing mp = tr.getMarkPassing(competitor, leg.getTo());
// GPSFixMoving current;
// while (mp.getTimePoint().after((current = it.next()).getTimePoint())) {
//
// Position currentPosition = current.getPosition();
// TimePoint currentTime = current.getTimePoint();
// SpeedWithBearing currentSpeed = current.getSpeed();
// TimedPositionWithSpeed currentTPWS = new TimedPositionWithSpeedImpl(currentTime,
// currentPosition, currentSpeed);
// polylinePoints.add(currentTPWS);
//
// }
// allPoints = new ArrayList<SimulatorWindDTO>();
// List<TimedPositionWithSpeed> turns = (new PathImpl(polylinePoints, null)).getTurns();
// turnPoints = new ArrayList<PositionDTO>();
// boolean isTurn = false;
// Position position = null;
// TimePoint timePoint = null;
// Wind wind = null;
//
// for (TimedPositionWithSpeed point : polylinePoints) {
// isTurn = false;
// position = point.getPosition();
// timePoint = point.getTimePoint();
// wind = tr.getWind(position, timePoint);
// for (TimedPositionWithSpeed turn : turns) {
// if (turn.getPosition().getLatDeg() == point.getPosition().getLatDeg()
// && turn.getPosition().getLngDeg() == point.getPosition().getLngDeg()
// && turn.getTimePoint().asMillis() == point.getTimePoint().asMillis()
// && turn.getSpeed().getKnots() == point.getSpeed().getKnots()
// && turn.getSpeed().getBearing().getDegrees() == point.getSpeed().getBearing()
// .getDegrees()) {
// isTurn = true;
// turnPoints.add(new PositionDTO(position.getLatDeg(), position.getLngDeg()));
// break;
// }
// }
// allPoints.add(new SimulatorWindDTO(position.getLatDeg(), position.getLngDeg(), wind.getKnots(),
// wind.getBearing().getDegrees(), timePoint.asMillis(), isTurn));
// // end polylinePoints loop
// }
//
// // getTotalTime(0, 0, 1000);
// // System.out.println(getSummary(id, competitor, leg));
// outputCSV.write(getSummary(id, competitor, leg, competitorIndex, legIndex));
// outputCSV.newLine();
//
// // end legs loop
// }
//
// // end competitors loop
// }
//
// // end tracked races loop
// }
//
// outputCSV.close();
// // end method
// }
//
// /*
// * private void getTotalTime(final int boatClassIndex, final int useRealAverageWindSpeed, final int
// * stepDurationMilliseconds) throws ConfigurationException {
// *
// * final SimulatorServiceImpl simulatorService = new SimulatorServiceImpl(); final RequestTotalTimeDTO requestData =
// * new RequestTotalTimeDTO(boatClassIndex, this.allPoints, this.turnPoints, useRealAverageWindSpeed == 1,
// * stepDurationMilliseconds, true); final ResponseTotalTimeDTO receiveData =
// * simulatorService.getTotalTime_new(requestData);
// *
// * final SpeedWithBearing averageWind = simulatorService.getAverageWind(); final double stepSizeMeters =
// * simulatorService.getStepSizeMeters(); int stepIndex = 0;
// *
// * System.err.println("==================================================");
// * System.err.println(this.boatClassesIndexes.get(boatClassIndex)); System.err.println("average wind speed = " +
// * averageWind.getKnots() + " knots, bearing = " + averageWind.getBearing().getDegrees() + " degrees");
// * System.err.println("step size = " + stepSizeMeters + " meters"); stepIndex = 0; for (final Quadruple<PositionDTO,
// * PositionDTO, Double, Double> segment : receiveData.segments) { System.err.println("segment " + stepIndex +
// * " from [" + segment.getA().latDeg + "," + segment.getA().lngDeg + "] to [" + segment.getB().latDeg + "," +
// * segment.getB().lngDeg + "], length = " + segment.getC() + " meters, time = " + segment.getD() / 1000. +
// * " seconds"); stepIndex++; } System.err.println(this.boatClassesIndexes.get(boatClassIndex) + ", " +
// * this.averageWindFlags.get(useRealAverageWindSpeed) + ", " + stepDurationMilliseconds +
// * "milliseconds timestep, total time: " + receiveData.totalTimeSeconds + " seconds");
// * System.err.println("=================================================="); }
// */
//
// private String getSummary(final RegattaAndRaceIdentifier id, final Competitor competitor, final Leg leg,
// int competitorIndex, final int legIndex) throws ConfigurationException {
//
// int noPoints = this.allPoints.size();
// long finishTime = this.allPoints.get(noPoints - 1).timepoint;
// long startTime = this.allPoints.get(0).timepoint;
// double gpsTime = (finishTime - startTime) / 1000.0;
// long totalDistanceMeters = 0;
// Iterator<SimulatorWindDTO> it = this.allPoints.iterator();
// SimulatorWindDTO prec = it.next();
// SimulatorWindDTO succ = null;
// double avgBearing = 0.0;
// while (it.hasNext()) {
// succ = it.next();
// Position p1 = new DegreePosition(prec.position.latDeg, prec.position.lngDeg);
// Position p2 = new DegreePosition(succ.position.latDeg, succ.position.lngDeg);
// totalDistanceMeters += p2.getDistance(p1).getMeters();
// avgBearing += 1.0 / noPoints * p1.getBearingGreatCircle(p2).getDegrees();
// prec = succ;
// }
// double speedMetersPerSecond = totalDistanceMeters / gpsTime;
// double speedKnots = speedMetersPerSecond * 1.94;
// String result = "";
// result = id.getRegattaName() + ", " + id.getRaceName();
// result += ", " + competitor.getName() + ", " + legIndex + ", " + leg.toString() + ", " + gpsTime;
//
// SpeedWithBearing averageWind = null;
//
// for (Integer boatClassIndex : boatClassesIndexes.keySet()) {
// final SimulatorServiceImpl simulatorService = new SimulatorServiceImpl();
// final RequestTotalTimeDTO requestData = new RequestTotalTimeDTO(new SimulatorUISelectionDTO(boatClassIndex, 0, competitorIndex, legIndex),
// this.timeStepMilliseconds, this.allPoints, this.turnPoints, true);
//
// final ResponseTotalTimeDTO receiveData = simulatorService.getTotalTime(requestData);
// averageWind = simulatorService.getAverageWind();
// result += ", " + receiveData.totalTimeSeconds;
// }
// result += ", " + averageWind.getKnots() + ", " + averageWind.getBearing();
// result += ", " + speedKnots + ", " + avgBearing;
//
// return result;
//
// }
//
//}
>>>>>>> origin/master:java/com.sap.sailing.simulator.test/src/com/sap/sailing/simulator/test/analysis/TestTimeComparison.java