java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingForLowPointsTest.java
... ...
@@ -226,8 +226,8 @@ public class LeaderboardScoringAndRankingForLowPointsTest extends LeaderboardSco
226 226
// to the "reduced points" rule, and both scores equal points in total in F1 and F2, C9 had the better
227 227
// best score.
228 228
assertEquals(leaderboard.getNetPoints(competitors.get(8), carryColumn, now), leaderboard.getNetPoints(competitors.get(9), carryColumn, now), EPSILON);
229
- leaderboard.getScoreCorrection().correctScore(competitors.get(8), f1, 5.0);
230
- leaderboard.getScoreCorrection().correctScore(competitors.get(8), f2, 7.0);
229
+ leaderboard.getScoreCorrection().correctScore(competitors.get(8), f1, 7.0);
230
+ leaderboard.getScoreCorrection().correctScore(competitors.get(8), f2, 5.0);
231 231
leaderboard.getScoreCorrection().correctScore(competitors.get(9), f1, 6.0);
232 232
leaderboard.getScoreCorrection().correctScore(competitors.get(9), f2, 6.0);
233 233
assertEquals(leaderboard.getNetPoints(competitors.get(8), now), leaderboard.getNetPoints(competitors.get(9), now), EPSILON);
java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/ScoringScheme.java
... ...
@@ -366,13 +366,16 @@ public interface ScoringScheme extends Serializable {
366 366
BiFunction<Competitor, RaceColumn, Double> totalPointsSupplier, boolean nullScoresAreBetter,
367 367
WindLegTypeAndLegBearingAndORCPerformanceCurveCache cache) {
368 368
assert o1MedalRaceScore != null || o2MedalRaceScore == null;
369
- final int result;
369
+ int result;
370 370
if (o1MedalRaceScore != null) {
371 371
result = getScoreComparator(nullScoresAreBetter).compare(o1MedalRaceScore, o2MedalRaceScore);
372
+ if (result == 0) {
373
+ result = compareByBetterScore(o1, o1ScoringMedalRaces, o2, o2ScoringMedalRaces,
374
+ Util.map(o1ScoringMedalRaces, Pair::getA), nullScoresAreBetter, timePoint, leaderboard,
375
+ discardedRaceColumnsPerCompetitor, totalPointsSupplier, cache);
376
+ }
372 377
} else {
373
- result = compareByBetterScore(o1, o1ScoringMedalRaces, o2, o2ScoringMedalRaces, Util.map(o1ScoringMedalRaces, Pair::getA),
374
- nullScoresAreBetter, timePoint, leaderboard, discardedRaceColumnsPerCompetitor, totalPointsSupplier,
375
- cache);
378
+ result = 0;
376 379
}
377 380
return result;
378 381
}