Files
advent-of-code-go/2018/day20/main_test.go
T

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