|
4 | 4 | import static org.junit.jupiter.api.Assertions.assertTrue; |
5 | 5 |
|
6 | 6 | import java.io.File; |
| 7 | +import java.io.IOException; |
7 | 8 | import java.net.URI; |
8 | 9 | import java.net.URL; |
9 | 10 | import java.text.SimpleDateFormat; |
|
51 | 52 | import com.sap.sailing.windestimation.data.RaceWithEstimationData; |
52 | 53 | import com.sap.sailing.windestimation.data.WindQuality; |
53 | 54 | import com.sap.sailing.windestimation.data.transformer.CompleteManeuverCurveWithEstimationDataToManeuverForEstimationTransformer; |
54 | | -import com.sap.sailing.windestimation.model.exception.ModelPersistenceException; |
55 | 55 | import com.sap.sailing.windestimation.model.regressor.twdtransition.DistanceBasedTwdTransitionRegressorModelContext.DistanceValueRange; |
56 | 56 | import com.sap.sailing.windestimation.model.regressor.twdtransition.DurationBasedTwdTransitionRegressorModelContext.DurationValueRange; |
57 | 57 | import com.sap.sailing.windestimation.model.store.ClassPathReadOnlyModelStoreImpl; |
|
66 | 66 | import com.sap.sse.common.impl.DegreeBearingImpl; |
67 | 67 | import com.sap.sse.common.impl.MillisecondsTimePoint; |
68 | 68 | import com.sap.sse.shared.util.Wait; |
| 69 | +import com.sap.sse.testutils.Measurement; |
| 70 | +import com.sap.sse.testutils.MeasurementCase; |
| 71 | +import com.sap.sse.testutils.MeasurementXMLFile; |
69 | 72 |
|
70 | 73 | /** |
71 | 74 | * |
@@ -148,7 +151,7 @@ public void setUp() throws Exception { |
148 | 151 | } |
149 | 152 |
|
150 | 153 | @Test |
151 | | - public void testIncrementalMstHmmWindEstimationForTrackedRace() throws NoWindException, ModelPersistenceException { |
| 154 | + public void testIncrementalMstHmmWindEstimationForTrackedRace() throws NoWindException, IOException { |
152 | 155 | assertTrue(windEstimationFactoryService.isReady(), "Wind estimation models are empty"); |
153 | 156 | DynamicTrackedRaceImpl trackedRace = getTrackedRace(); |
154 | 157 | WindTrack estimatedWindTrackOfTrackedRace = trackedRace |
@@ -180,6 +183,9 @@ public void testIncrementalMstHmmWindEstimationForTrackedRace() throws NoWindExc |
180 | 183 | new WindTrackCalculatorImpl(new MiddleCourseBasedTwdCalculatorImpl(), |
181 | 184 | new DummyBasedTwsCalculatorImpl())); |
182 | 185 | List<WindWithConfidence<Pair<Position, TimePoint>>> windFixes = targetWindEstimation.estimateWindTrack(race); |
| 186 | + final MeasurementXMLFile performanceReport = new MeasurementXMLFile(this.getClass()); |
| 187 | + final MeasurementCase performanceReportCase = performanceReport.addCase(getClass().getSimpleName()); |
| 188 | + performanceReportCase.addMeasurement(new Measurement("NumberOfTargetEstimationFixes", windFixes.size())); |
183 | 189 | List<Wind> targetWindFixes = new ArrayList<>(windFixes.size()); |
184 | 190 | for (WindWithConfidence<Pair<Position, TimePoint>> windFix : windFixes) { |
185 | 191 | Wind wind = windFix.getObject(); |
@@ -233,6 +239,7 @@ public int compare(Wind o1, Wind o2) { |
233 | 239 | } |
234 | 240 | assertTrue((double) foundCount / (double) targetWindFixes.size() > PERCENT_QUANTILE, |
235 | 241 | "Expected ratio of matching fixes to be at least "+PERCENT_QUANTILE+" but was only "+(double) foundCount / (double) estimatedWindFixes.size()); |
| 242 | + performanceReport.write(); |
236 | 243 | } |
237 | 244 |
|
238 | 245 | /** |
|
0 commit comments