Add parsed driver ranking scores to the scouting database
This is the data that Michael's DriverRank.jl script generates. This
patch only prepares the database for the information. A future patch
will actually insert the data.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I0c4126bce3ad314734327156c08af8faeb8cbd7d
diff --git a/scouting/db/db_test.go b/scouting/db/db_test.go
index ec7a1e7..477a0f1 100644
--- a/scouting/db/db_test.go
+++ b/scouting/db/db_test.go
@@ -972,3 +972,44 @@
t.Errorf("Got %#v,\nbut expected %#v.", actual, expected)
}
}
+
+func TestParsedDriverRanking(t *testing.T) {
+ fixture := createDatabase(t)
+ defer fixture.TearDown()
+
+ expected := []ParsedDriverRankingData{
+ {TeamNumber: "1234", Score: 100},
+ {TeamNumber: "1235", Score: 110},
+ {TeamNumber: "1236", Score: 90},
+ }
+
+ for i := range expected {
+ err := fixture.db.AddParsedDriverRanking(expected[i])
+ check(t, err, "Failed to add Parsed Driver Ranking")
+ }
+
+ actual, err := fixture.db.ReturnAllParsedDriverRankings()
+ check(t, err, "Failed to get Parsed Driver Ranking")
+ if !reflect.DeepEqual(expected, actual) {
+ t.Errorf("Got %#v,\nbut expected %#v.", actual, expected)
+ }
+
+ // Now update one of the rankings and make sure we get the properly
+ // merged result.
+ err = fixture.db.AddParsedDriverRanking(ParsedDriverRankingData{
+ TeamNumber: "1235", Score: 200,
+ })
+ check(t, err, "Failed to add Parsed Driver Ranking")
+
+ expected = []ParsedDriverRankingData{
+ {TeamNumber: "1234", Score: 100},
+ {TeamNumber: "1236", Score: 90},
+ {TeamNumber: "1235", Score: 200},
+ }
+
+ actual, err = fixture.db.ReturnAllParsedDriverRankings()
+ check(t, err, "Failed to get Parsed Driver Ranking")
+ if !reflect.DeepEqual(expected, actual) {
+ t.Errorf("Got %#v,\nbut expected %#v.", actual, expected)
+ }
+}