github.com/frodejac/aoc-2022@v0.0.0-20221213081734-037c741b1c89/internal/aoc/day01/day01_test.go (about) 1 package day01 2 3 import ( 4 "os" 5 "path" 6 "runtime" 7 "testing" 8 9 "github.com/frodejac/aoc-2022/internal/io" 10 ) 11 12 func init() { 13 _, filename, _, _ := runtime.Caller(0) 14 dir := path.Join(path.Dir(filename), "..", "..", "..") 15 err := os.Chdir(dir) 16 if err != nil { 17 panic(err) 18 } 19 } 20 21 func TestSolveDay01Part1(t *testing.T) { 22 const day, part = 1, 1 23 input, err := io.GetInput(day) 24 if err != nil { 25 t.Logf("Failed to get input for day %02d, part %d", day, part) 26 t.Fail() 27 } 28 solver := Solver(input) 29 part1 := solver.SolvePart1() 30 expected, err := io.GetSolution(day, part) 31 if err != nil { 32 t.Logf("Failed to get solution for day %02d, part %d", day, part) 33 t.Fail() 34 } 35 if part1 != string(expected) { 36 t.Logf("Expected %s, got %s", expected, part1) 37 t.Fail() 38 } 39 } 40 41 func TestSolveDay01Part2(t *testing.T) { 42 const day, part = 1, 2 43 input, err := io.GetInput(day) 44 if err != nil { 45 t.Logf("Failed to get input for day %02d, part %d", day, part) 46 t.Fail() 47 } 48 solver := Solver(input) 49 part2 := solver.SolvePart2() 50 expected, err := io.GetSolution(day, part) 51 if err != nil { 52 t.Logf("Failed to get solution for day %02d, part %d", day, part) 53 t.Fail() 54 } 55 if part2 != string(expected) { 56 t.Logf("Expected %s, got %s", expected, part2) 57 t.Fail() 58 } 59 }