2022-08-20 16:01:54 -07:00
|
|
|
// Copyright 2022 Team 254. All Rights Reserved.
|
|
|
|
|
// Author: pat@patfairbank.com (Patrick Fairbank)
|
|
|
|
|
|
|
|
|
|
package bracket
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/Team254/cheesy-arena-lite/tournament"
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestMatchupDisplayNames(t *testing.T) {
|
|
|
|
|
database := setupTestDb(t)
|
|
|
|
|
tournament.CreateTestAlliances(database, 8)
|
|
|
|
|
bracket, err := NewDoubleEliminationBracket(8)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
assert.Equal(t, "Finals", bracket.FinalsMatchup.LongDisplayName())
|
|
|
|
|
assert.Equal(t, "F-1", bracket.FinalsMatchup.matchDisplayName(1))
|
2023-02-05 13:29:23 -08:00
|
|
|
assert.Equal(t, "W 11", bracket.FinalsMatchup.RedAllianceSourceDisplayName())
|
2022-08-20 16:01:54 -07:00
|
|
|
assert.Equal(t, "W 13", bracket.FinalsMatchup.BlueAllianceSourceDisplayName())
|
|
|
|
|
|
|
|
|
|
match13, err := bracket.GetMatchup(5, 1)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "Match 13", match13.LongDisplayName())
|
|
|
|
|
assert.Equal(t, "13", match13.matchDisplayName(1))
|
|
|
|
|
assert.Equal(t, "13-2", match13.matchDisplayName(2))
|
2023-02-05 13:29:23 -08:00
|
|
|
assert.Equal(t, "L 11", match13.RedAllianceSourceDisplayName())
|
|
|
|
|
assert.Equal(t, "W 12", match13.BlueAllianceSourceDisplayName())
|
2022-08-20 16:01:54 -07:00
|
|
|
|
|
|
|
|
bracket, err = NewSingleEliminationBracket(8)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
assert.Equal(t, "Finals", bracket.FinalsMatchup.LongDisplayName())
|
|
|
|
|
assert.Equal(t, "F-1", bracket.FinalsMatchup.matchDisplayName(1))
|
|
|
|
|
assert.Equal(t, "W SF1", bracket.FinalsMatchup.RedAllianceSourceDisplayName())
|
|
|
|
|
assert.Equal(t, "W SF2", bracket.FinalsMatchup.BlueAllianceSourceDisplayName())
|
|
|
|
|
|
|
|
|
|
matchSf2, err := bracket.GetMatchup(3, 2)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "SF2", matchSf2.LongDisplayName())
|
|
|
|
|
assert.Equal(t, "SF2-1", matchSf2.matchDisplayName(1))
|
|
|
|
|
assert.Equal(t, "SF2-3", matchSf2.matchDisplayName(3))
|
|
|
|
|
assert.Equal(t, "W QF3", matchSf2.RedAllianceSourceDisplayName())
|
|
|
|
|
assert.Equal(t, "W QF4", matchSf2.BlueAllianceSourceDisplayName())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestMatchupStatusText(t *testing.T) {
|
|
|
|
|
matchup := Matchup{matchupTemplate: matchupTemplate{NumWinsToAdvance: 1}}
|
|
|
|
|
|
|
|
|
|
leader, status := matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "", leader)
|
|
|
|
|
assert.Equal(t, "", status)
|
|
|
|
|
|
|
|
|
|
matchup.RedAllianceWins = 1
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "red", leader)
|
|
|
|
|
assert.Equal(t, "Red Advances 1-0", status)
|
|
|
|
|
|
|
|
|
|
matchup.RedAllianceWins = 0
|
|
|
|
|
matchup.BlueAllianceWins = 2
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "blue", leader)
|
|
|
|
|
assert.Equal(t, "Blue Advances 2-0", status)
|
|
|
|
|
|
|
|
|
|
matchup.NumWinsToAdvance = 3
|
|
|
|
|
matchup.BlueAllianceWins = 2
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "blue", leader)
|
|
|
|
|
assert.Equal(t, "Blue Leads 2-0", status)
|
|
|
|
|
|
|
|
|
|
matchup.RedAllianceWins = 2
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "", leader)
|
|
|
|
|
assert.Equal(t, "Series Tied 2-2", status)
|
|
|
|
|
|
|
|
|
|
matchup.BlueAllianceWins = 1
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "red", leader)
|
|
|
|
|
assert.Equal(t, "Red Leads 2-1", status)
|
|
|
|
|
|
|
|
|
|
matchup.displayName = "F"
|
|
|
|
|
matchup.RedAllianceWins = 3
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "red", leader)
|
|
|
|
|
assert.Equal(t, "Red Wins 3-1", status)
|
|
|
|
|
|
|
|
|
|
matchup.RedAllianceWins = 2
|
|
|
|
|
matchup.BlueAllianceWins = 4
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "blue", leader)
|
|
|
|
|
assert.Equal(t, "Blue Wins 4-2", status)
|
|
|
|
|
|
|
|
|
|
matchup.RedAllianceWins = 0
|
|
|
|
|
matchup.BlueAllianceWins = 0
|
|
|
|
|
leader, status = matchup.StatusText()
|
|
|
|
|
assert.Equal(t, "", leader)
|
|
|
|
|
assert.Equal(t, "", status)
|
|
|
|
|
}
|