mirror of
https://github.com/Threnklyn/advent-of-code-go.git
synced 2026-05-19 03:23:27 +02:00
35 lines
954 B
Go
35 lines
954 B
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/alexchao26/advent-of-code-go/util"
|
|
)
|
|
|
|
func Test_part1And2(t *testing.T) {
|
|
type args struct {
|
|
input string
|
|
part int
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want int
|
|
}{
|
|
{"part1 example 1", args{"^WNE$", 1}, 3},
|
|
{"part1 example 2", args{"^ENWWW(NEEE|SSE(EE|N))$", 1}, 10},
|
|
{"part1 example 3", args{"^ENNWSWW(NEWS|)SSSEEN(WNSE|)EE(SWEN|)NNN$", 1}, 18},
|
|
{"part1 example 4", args{"^ESSWWN(E|NNENN(EESS(WNSE|)SSS|WWWSSSSE(SW|NNNE)))$", 1}, 23},
|
|
{"part1 example 5", args{"^WSSEESWWWNW(S|NENNEEEENN(ESSSSW(NWSW|SSEN)|WSWWN(E|WWS(E|SS))))$", 1}, 31},
|
|
{"part1 actual", args{util.ReadFile("input.txt"), 1}, 4121},
|
|
{"part2 actual", args{util.ReadFile("input.txt"), 2}, 8636},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := part1And2(tt.args.input, tt.args.part); got != tt.want {
|
|
t.Errorf("part1And2() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|