mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 13:46:44 -04:00
Added tests for ranking model.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE rankings (
|
||||
teamid INTEGER PRIMARY KEY,
|
||||
rank int,
|
||||
qualificationscore int,
|
||||
assistpoints int,
|
||||
autopoints int,
|
||||
|
||||
@@ -7,6 +7,7 @@ package main
|
||||
|
||||
type Ranking struct {
|
||||
TeamId int
|
||||
Rank int
|
||||
QualificationScore int
|
||||
AssistPoints int
|
||||
AutoPoints int
|
||||
@@ -50,6 +51,6 @@ func (database *Database) TruncateRankings() error {
|
||||
|
||||
func (database *Database) GetAllRankings() ([]Ranking, error) {
|
||||
var rankings []Ranking
|
||||
err := database.rankingMap.Select(&rankings, "SELECT * FROM rankings ORDER BY id")
|
||||
err := database.rankingMap.Select(&rankings, "SELECT * FROM rankings ORDER BY rank")
|
||||
return rankings, err
|
||||
}
|
||||
|
||||
84
ranking_test.go
Normal file
84
ranking_test.go
Normal file
@@ -0,0 +1,84 @@
|
||||
// Copyright 2014 Team 254. All Rights Reserved.
|
||||
// Author: pat@patfairbank.com (Patrick Fairbank)
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestGetNonexistentRanking(t *testing.T) {
|
||||
clearDb()
|
||||
defer clearDb()
|
||||
db, err := OpenDatabase(testDbPath)
|
||||
assert.Nil(t, err)
|
||||
defer db.Close()
|
||||
|
||||
ranking, err := db.GetRankingForTeam(1114)
|
||||
assert.Nil(t, err)
|
||||
assert.Nil(t, ranking)
|
||||
}
|
||||
|
||||
func TestRankingCrud(t *testing.T) {
|
||||
clearDb()
|
||||
defer clearDb()
|
||||
db, err := OpenDatabase(testDbPath)
|
||||
assert.Nil(t, err)
|
||||
defer db.Close()
|
||||
|
||||
ranking := Ranking{254, 1, 20, 1100, 625, 90, 554, 0.254, 10, 0, 0, 0, 10}
|
||||
db.CreateRanking(&ranking)
|
||||
ranking2, err := db.GetRankingForTeam(254)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, ranking, *ranking2)
|
||||
|
||||
ranking.Random = 0.1114
|
||||
db.SaveRanking(&ranking)
|
||||
ranking2, err = db.GetRankingForTeam(254)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, ranking.Random, ranking2.Random)
|
||||
|
||||
db.DeleteRanking(&ranking)
|
||||
ranking2, err = db.GetRankingForTeam(254)
|
||||
assert.Nil(t, err)
|
||||
assert.Nil(t, ranking2)
|
||||
}
|
||||
|
||||
func TestTruncateRankings(t *testing.T) {
|
||||
clearDb()
|
||||
defer clearDb()
|
||||
db, err := OpenDatabase(testDbPath)
|
||||
assert.Nil(t, err)
|
||||
defer db.Close()
|
||||
|
||||
ranking := Ranking{254, 1, 20, 1100, 625, 90, 554, 0.254, 10, 0, 0, 0, 10}
|
||||
db.CreateRanking(&ranking)
|
||||
db.TruncateRankings()
|
||||
ranking2, err := db.GetRankingForTeam(254)
|
||||
assert.Nil(t, err)
|
||||
assert.Nil(t, ranking2)
|
||||
}
|
||||
|
||||
func TestGetAllRankings(t *testing.T) {
|
||||
clearDb()
|
||||
defer clearDb()
|
||||
db, err := OpenDatabase(testDbPath)
|
||||
assert.Nil(t, err)
|
||||
defer db.Close()
|
||||
|
||||
rankings, err := db.GetAllRankings()
|
||||
assert.Nil(t, err)
|
||||
assert.Empty(t, rankings)
|
||||
|
||||
numRankings := 20
|
||||
for i := 1; i <= numRankings; i++ {
|
||||
db.CreateRanking(&Ranking{TeamId:i})
|
||||
}
|
||||
rankings, err = db.GetAllRankings()
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, numRankings, len(rankings))
|
||||
for i := 0; i < numRankings; i++ {
|
||||
assert.Equal(t, i+1, rankings[i].TeamId)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user