-
Notifications
You must be signed in to change notification settings - Fork 0
/
09_test.go
84 lines (73 loc) · 1.25 KB
/
09_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package main
import "testing"
func TestAOC2022091(t *testing.T) {
test := struct {
input string
output int
}{
input: `R 4
U 4
L 3
D 1
R 4
D 1
L 5
R 2`,
output: 13,
}
got, err := AOC2022091Helper(test.input)
if err != nil {
t.Fatalf("AOC2022091Helper() err: %v", err)
}
if got != test.output {
t.Errorf("AOC2022091Helper() missmatch:\nwant: %d\ngot: %d", test.output, got)
}
}
func TestAOC2022092(t *testing.T) {
test := struct {
input string
output int
}{
input: `R 5
U 8
L 8
D 3
R 17
D 10
L 25
U 20`,
output: 36,
}
got, err := AOC2022092Helper(test.input)
if err != nil {
t.Fatalf("AOC2022092Helper() err: %v", err)
}
if got != test.output {
t.Errorf("AOC2022092Helper() missmatch:\nwant: %d\ngot: %d", test.output, got)
}
}
func TestAOC202209LocationMove(t *testing.T) {
test := struct {
steps []AOC202209Instruction
count int
}{
steps: []AOC202209Instruction{
{
Direction: "U",
Steps: 2,
},
{
Direction: "R",
Steps: 2,
},
},
count: 3,
}
loc := AOC202209NewLocation(2)
for _, step := range test.steps {
loc.Move(step)
}
if loc.Count() != test.count {
t.Errorf("AOC202209Location.Count() missmatch after moves:\nwant: %d\ngot: %d", test.count, loc.Count())
}
}