You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.3 KiB
Go

package day12
import (
"testing"
"gitea.paas.celticinfo.fr/oabrivard/aoc2023/utils"
)
func TestSumArragements1(t *testing.T) {
lines := []string{
"???.### 1,1,3",
".??..??...?##. 1,1,3",
"?#?#?#?#?#?#?#? 1,3,1,6",
"????.#...#... 4,1,1",
"????.######..#####. 1,6,5",
"?###???????? 3,2,1",
}
result := SumArragements1(lines)
if result != 21 {
t.Fatalf("expected 21, got %v", result)
}
}
func TestSumArragements1WithInput1(t *testing.T) {
lines := utils.ReadLines("input.txt")
result := SumArragements1(lines)
if result != 7110 {
t.Fatalf("expected 7110, got %v", result)
}
}
func TestSumArragements2(t *testing.T) {
lines := []string{
"???.### 1,1,3",
".??..??...?##. 1,1,3",
"?#?#?#?#?#?#?#? 1,3,1,6",
"????.#...#... 4,1,1",
"????.######..#####. 1,6,5",
"?###???????? 3,2,1",
}
result := SumArragements2(lines, 0)
if result != 21 {
t.Fatalf("expected 21, got %v", result)
}
result = SumArragements2(lines, 4)
if result != 525152 {
t.Fatalf("expected 525152, got %v", result)
}
}
func TestSumArragements2WithInput(t *testing.T) {
lines := utils.ReadLines("input.txt")
result := SumArragements2(lines, 0)
if result != 7110 {
t.Fatalf("expected 7110, got %v", result)
}
result = SumArragements2(lines, 4)
if result != 1566786613613 {
t.Fatalf("expected 1566786613613, got %v", result)
}
}