Files
advent-of-code-go/learning/regexp-capture-groups_test.go
T

85 lines
1.3 KiB
Go

package learning
import (
"reflect"
"testing"
)
var (
example1 = `22 13 17 11 0
8 2 23 4 24
21 9 14 16 7
6 10 3 18 5
1 12 20 15 19`
example2 = ` 3 15 0 2 22
9 18 13 17 5
19 8 7 25 23
20 11 10 24 4
14 21 16 12 6`
example3 = `14 21 17 24 4
10 16 15 9 19
18 8 23 26 20
22 11 13 6 5
2 0 12 3 7`
)
func TestCaptureBingoBoard(t *testing.T) {
type args struct {
board string
}
tests := []struct {
name string
args args
want [][]int
}{
{
name: "example 1",
args: args{
board: example1,
},
want: [][]int{
{22, 13, 17, 11, 0},
{8, 2, 23, 4, 24},
{21, 9, 14, 16, 7},
{6, 10, 3, 18, 5},
{1, 12, 20, 15, 19},
},
},
{
name: "example 2",
args: args{
board: example2,
},
want: [][]int{
{3, 15, 0, 2, 22},
{9, 18, 13, 17, 5},
{19, 8, 7, 25, 23},
{20, 11, 10, 24, 4},
{14, 21, 16, 12, 6},
},
},
{
name: "example 3",
args: args{
board: example3,
},
want: [][]int{
{14, 21, 17, 24, 4},
{10, 16, 15, 9, 19},
{18, 8, 23, 26, 20},
{22, 11, 13, 6, 5},
{2, 0, 12, 3, 7},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := CaptureBingoBoard(tt.args.board); !reflect.DeepEqual(got, tt.want) {
t.Errorf("CaptureBingoBoard() = %v, want %v", got, tt.want)
}
})
}
}