2d936a6455b4436c1ce81265189850eb434ceb90
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 | } |