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)
+	}
+}