package main import ( "testing" "github.com/alexchao26/advent-of-code-go/util" ) var exampleInput = `Immune System: 17 units each with 5390 hit points (weak to radiation, bludgeoning) with an attack that does 4507 fire damage at initiative 2 989 units each with 1274 hit points (immune to fire; weak to bludgeoning, slashing) with an attack that does 25 slashing damage at initiative 3 Infection: 801 units each with 4706 hit points (weak to radiation) with an attack that does 116 bludgeoning damage at initiative 1 4485 units each with 2961 hit points (immune to radiation; weak to fire, cold) with an attack that does 12 slashing damage at initiative 4` var tests1 = []struct { name string want int input string }{ {"example", 5216, exampleInput}, {"actual", 15392, util.ReadFile("input.txt")}, } func TestPart1(t *testing.T) { for _, tt := range tests1 { t.Run(tt.name, func(t *testing.T) { if got := part1(tt.input); got != tt.want { t.Errorf("part1() = %v, want %v", got, tt.want) } }) } } var tests2 = []struct { name string want int input string // add extra args if needed }{ {"example", 51, exampleInput}, // {"actual", 1092, util.ReadFile("input.txt")}, } func TestPart2(t *testing.T) { for _, tt := range tests2 { t.Run(tt.name, func(t *testing.T) { if got := part2(tt.input); got != tt.want { t.Errorf("part2() = %v, want %v", got, tt.want) } }) } }