|
|
|
package adventoc2024
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io"
|
|
|
|
"strings"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func dup(input string) (io.Reader, io.Reader) {
|
|
|
|
return strings.NewReader(input), strings.NewReader(input)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDay01(t *testing.T) {
|
|
|
|
input := `3 4
|
|
|
|
4 3
|
|
|
|
2 5
|
|
|
|
1 3
|
|
|
|
3 9
|
|
|
|
3 3`
|
|
|
|
|
|
|
|
p1, p2 := dup(input)
|
|
|
|
solver := Day1{}
|
|
|
|
|
|
|
|
if got, expected := solver.Part1(p1), "11"; got != expected {
|
|
|
|
t.Errorf("day01 part 1 = %s; expected %s", got, expected)
|
|
|
|
}
|
|
|
|
|
|
|
|
if got, expected := solver.Part2(p2), "31"; got != expected {
|
|
|
|
t.Errorf("day01 part 2 = %s; expected %s", got, expected)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDay02(t *testing.T) {
|
|
|
|
input := `7 6 4 2 1
|
|
|
|
1 2 7 8 9
|
|
|
|
9 7 6 2 1
|
|
|
|
1 3 2 4 5
|
|
|
|
8 6 4 4 1
|
|
|
|
1 3 6 7 9`
|
|
|
|
|
|
|
|
p1, p2 := dup(input)
|
|
|
|
solver := Day2{}
|
|
|
|
|
|
|
|
if got, expected := solver.Part1(p1), "2"; got != expected {
|
|
|
|
t.Errorf("day 2 part 1 = %s; expected %s", got, expected)
|
|
|
|
}
|
|
|
|
|
|
|
|
if got, expected := solver.Part2(p2), "4"; got != expected {
|
|
|
|
t.Errorf("day 2 part 2 = %s; expected %s", got, expected)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|