tests: update test suite for Day 2
This commit is contained in:
parent
53c58fa8c0
commit
bd36605f3e
2 changed files with 29 additions and 21 deletions
|
@ -5,7 +5,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseGame(t *testing.T) {
|
func testParseGame(t *testing.T) {
|
||||||
table := []struct {
|
table := []struct {
|
||||||
testGame string
|
testGame string
|
||||||
want Game
|
want Game
|
||||||
|
|
|
@ -5,7 +5,8 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testStr = `
|
func TestDay2CubeConundrum(t *testing.T) {
|
||||||
|
testGames := `
|
||||||
Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
|
Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
|
||||||
Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
|
Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
|
||||||
Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
|
Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
|
||||||
|
@ -13,9 +14,15 @@ Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
|
||||||
Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green
|
Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green
|
||||||
`
|
`
|
||||||
|
|
||||||
func TestSumOfGameIDs(t *testing.T) {
|
games := strings.Split(testGames, "\n")
|
||||||
games := strings.Split(testStr, "\n")
|
|
||||||
|
|
||||||
|
t.Run("Test the game parsing functionality", testParseGame)
|
||||||
|
t.Run("Test calculating the sum of Game IDs", testSumOfGameIDs(games))
|
||||||
|
t.Run("Test calculating the sum of the Power of Cubes", testSumOfThePowerOfTheCubes(games))
|
||||||
|
}
|
||||||
|
|
||||||
|
func testSumOfGameIDs(games []string) func(t *testing.T) {
|
||||||
|
return func(t *testing.T) {
|
||||||
got, err := sumOfGameIDs(games)
|
got, err := sumOfGameIDs(games)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Received an error after running sumOfGameIDs(); %v\n", err)
|
t.Fatalf("Received an error after running sumOfGameIDs(); %v\n", err)
|
||||||
|
@ -26,11 +33,11 @@ func TestSumOfGameIDs(t *testing.T) {
|
||||||
if got != want {
|
if got != want {
|
||||||
t.Errorf("unexpected result received from sumOfGameIDs(); want %d, got %d\n", want, got)
|
t.Errorf("unexpected result received from sumOfGameIDs(); want %d, got %d\n", want, got)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSumOfThePowerOfTheCubes(t *testing.T) {
|
func testSumOfThePowerOfTheCubes(games []string) func(t *testing.T) {
|
||||||
games := strings.Split(testStr, "\n")
|
return func(t *testing.T) {
|
||||||
|
|
||||||
got, err := sumOfThePowerOfTheCubes(games)
|
got, err := sumOfThePowerOfTheCubes(games)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Received an error after running sumOfThePowerOfTheCubes(); %v\n", err)
|
t.Fatalf("Received an error after running sumOfThePowerOfTheCubes(); %v\n", err)
|
||||||
|
@ -41,4 +48,5 @@ func TestSumOfThePowerOfTheCubes(t *testing.T) {
|
||||||
if got != want {
|
if got != want {
|
||||||
t.Errorf("unexpected result received from sumOfThePowerOfTheCubes(); want %d; got %d", want, got)
|
t.Errorf("unexpected result received from sumOfThePowerOfTheCubes(); want %d; got %d", want, got)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue