From ec858914c425c5bb818af521a67b616fd7a73101 Mon Sep 17 00:00:00 2001 From: Patrick Fairbank Date: Sat, 21 Mar 2020 14:10:20 -0700 Subject: [PATCH] Fix bug where always-disqualified teams don't receive a random ranking. --- game/ranking_fields.go | 6 +++--- game/ranking_fields_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/game/ranking_fields.go b/game/ranking_fields.go index 6544a9a..7cb2a26 100644 --- a/game/ranking_fields.go +++ b/game/ranking_fields.go @@ -31,6 +31,9 @@ type Rankings []*Ranking func (fields *RankingFields) AddScoreSummary(ownScore *ScoreSummary, opponentScore *ScoreSummary, disqualified bool) { fields.Played += 1 + // Store a random value to be used as the last tiebreaker if necessary. + fields.Random = rand.Float64() + if disqualified { // Don't award any points. fields.Disqualifications += 1 @@ -58,9 +61,6 @@ func (fields *RankingFields) AddScoreSummary(ownScore *ScoreSummary, opponentSco fields.AutoPoints += ownScore.AutoPoints fields.EndgamePoints += ownScore.EndgamePoints fields.TeleopPoints += ownScore.TeleopPowerCellPoints + ownScore.ControlPanelPoints - - // Store a random value to be used as the last tiebreaker if necessary. - fields.Random = rand.Float64() } // Helper function to implement the required interface for Sort. diff --git a/game/ranking_fields_test.go b/game/ranking_fields_test.go index 9e410de..3798e2a 100644 --- a/game/ranking_fields_test.go +++ b/game/ranking_fields_test.go @@ -32,7 +32,7 @@ func TestAddScoreSummary(t *testing.T) { // Add a disqualification. rankingFields.AddScoreSummary(blueSummary, redSummary, true) - assert.Equal(t, RankingFields{6, 205, 200, 248, 0.6559562651954052, 1, 1, 1, 1, 4}, rankingFields) + assert.Equal(t, RankingFields{6, 205, 200, 248, 0.05434383959970039, 1, 1, 1, 1, 4}, rankingFields) } func TestSortRankings(t *testing.T) {