-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDay4_test.go
44 lines (41 loc) · 1.72 KB
/
Day4_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
package main
import "testing"
func TestComputeDay4a(t *testing.T) {
type args struct {
input string
}
tests := []struct {
name string
args args
want int
}{
{ "Sample Day 4 Part 1", args{"ecl:gry pid:860033327 eyr:2020 hcl:#fffffd\nbyr:1937 iyr:2017 cid:147 hgt:183cm\n\niyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884\nhcl:#cfa07d byr:1929\n\nhcl:#ae17e1 iyr:2013\neyr:2024\necl:brn pid:760753108 byr:1931\nhgt:179cm\n\nhcl:#cfa07d eyr:2025 pid:166559648\niyr:2011 ecl:brn hgt:59in"}, 2},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := ComputeDay4a(tt.args.input); got != tt.want {
t.Errorf("ComputeDay4a() = %v, want %v", got, tt.want)
}
})
}
}
func TestComputeDay4b(t *testing.T) {
type args struct {
input string
}
tests := []struct {
name string
args args
want int
}{
//{ "Day 4 Part 2 all invalid", args{"eyr:1972 cid:100\nhcl:#18171d ecl:amb hgt:170 pid:186cm iyr:2018 byr:1926\n\niyr:2019\nhcl:#602927 eyr:1967 hgt:170cm\necl:grn pid:012533040 byr:1946\n\nhcl:dab227 iyr:2012\necl:brn hgt:182cm pid:021572410 eyr:2020 byr:1992 cid:277\n\nhgt:59cm ecl:zzz\neyr:2038 hcl:74454a iyr:2023\npid:3556412378 byr:2007"}, 0},
{ "Day 4 Part 2 all valid", args {"pid:087499704 hgt:74in ecl:grn iyr:2012 eyr:2030 byr:1980\nhcl:#623a2f\n\neyr:2029 ecl:blu cid:129 byr:1989\niyr:2014 pid:896056539 hcl:#a97842 hgt:165cm\n\nhcl:#888785\nhgt:164cm byr:2001 iyr:2015 cid:88\npid:545766238 ecl:hzl\neyr:2022\n\niyr:2010 hgt:158cm hcl:#b6652a ecl:blu byr:1944 eyr:2021 pid:093154719"}, 4},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := ComputeDay4b(tt.args.input); got != tt.want {
t.Errorf("ComputeDay4b() = %v, want %v", got, tt.want)
}
})
}
}