mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 21:13:50 +00:00
Finished FinderPerformanceTest.
This commit is contained in:
1 parent
aaad94801c
commit
6aec48efa5
7 files changed
+136
-41
No files matched your search
+1
-1
@@ -30,7 +30,7 @@ public class CandidateChooserPerformanceTest extends AbstractMarkPassingTest {
|
||||
time = System.currentTimeMillis();
|
||||
CandidateChooser c = new CandidateChooser(trackedRace);
|
||||
c.calculateMarkPassDeltas(bob, new Pair<List<Candidate>, List<Candidate>>(newCans, new ArrayList<Candidate>()));
|
||||
time = System.currentTimeMillis() - time;
|
||||
time = System.currentTimeMillis() - time;
|
||||
|
||||
ArrayList<Long> times = new ArrayList<>();
|
||||
for (int i = 0; i < 100; i++) {
|
||||
|
||||
+98
-6
@@ -1,19 +1,111 @@
|
||||
package com.sap.sailing.domain.test;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class CandidateFinderPerformanceTest {
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.markpassingcalculation.AbstractCandidateFinder;
|
||||
import com.sap.sailing.domain.markpassingcalculation.CandidateFinder;
|
||||
import com.sap.sailing.domain.tracking.GPSFix;
|
||||
import com.sap.sailing.domain.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.RaceChangeListener;
|
||||
import com.sap.sailing.domain.tracking.TrackedRaceStatus;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
public class CandidateFinderPerformanceTest extends AbstractMarkPassingTest implements RaceChangeListener {
|
||||
|
||||
public CandidateFinderPerformanceTest() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
fail("Not yet implemented");
|
||||
AbstractCandidateFinder f = new CandidateFinder(trackedRace);
|
||||
List<GPSFix> fixesAdded = new ArrayList<>();
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
GPSFixMoving fix = rndFix();
|
||||
trackedRace.recordFix(bob, fix);
|
||||
fixesAdded.add(fix);
|
||||
}
|
||||
time = System.currentTimeMillis();
|
||||
f.calculateFixesAffectedByNewCompetitorFixes(bob, fixesAdded);
|
||||
f.getCandidateDeltas(bob);
|
||||
time = System.currentTimeMillis() - time;
|
||||
Assert.assertTrue(time<1000);
|
||||
}
|
||||
|
||||
private GPSFixMoving rndFix() {
|
||||
DegreePosition position = new DegreePosition(37.8878 + rnd.nextDouble() * 0.0019, -122.268 - rnd.nextDouble()
|
||||
* 0.012);
|
||||
TimePoint p = new MillisecondsTimePoint(
|
||||
(long) (System.currentTimeMillis() - 300000 + (Math.random() * (7800000))));
|
||||
SpeedWithBearing speed = new KnotSpeedWithBearingImpl(rnd.nextInt(11), new DegreeBearingImpl(rnd.nextInt(360)));
|
||||
|
||||
return new GPSFixMovingImpl(position, p, speed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void competitorPositionChanged(GPSFixMoving fix, Competitor competitor) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markPositionChanged(GPSFix fix, Mark mark) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markPassingReceived(Competitor competitor, Map<Waypoint, MarkPassing> oldMarkPassings,
|
||||
Iterable<MarkPassing> markPassings) {
|
||||
for (MarkPassing m : markPassings) {
|
||||
System.out.println(m);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void speedAveragingChanged(long oldMillisecondsOverWhichToAverage, long newMillisecondsOverWhichToAverage) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windDataReceived(Wind wind, WindSource windSource) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windDataRemoved(Wind wind, WindSource windSource) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windAveragingChanged(long oldMillisecondsOverWhichToAverage, long newMillisecondsOverWhichToAverage) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void raceTimesChanged(TimePoint startOfTracking, TimePoint endOfTracking, TimePoint startTimeReceived) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delayToLiveChanged(long delayToLiveInMillis) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void windSourcesToExcludeChanged(Iterable<? extends WindSource> windSourcesToExclude) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void statusChanged(TrackedRaceStatus newStatus) {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user