Files
advent-of-code-2025/cmd/03/bank/bank_test.go
T

79 lines
1.8 KiB
Go
Raw Normal View History

2025-12-05 07:05:28 -06:00
package bank_test
import (
"slices"
"testing"
"github.com/StevanFreeborn/advent-of-code-2025/cmd/03/bank"
)
func TestFrom(t *testing.T) {
expected := []int{1, 2, 3, 4, 5}
input := "12345"
result := bank.From(input)
if slices.Equal(result.Cells(), expected) == false {
t.Errorf("got %v but wanted %v", result.Cells(), expected)
}
}
type testCase struct {
2025-12-06 07:34:42 -06:00
numberOfBanksToTurnOn int
bank bank.Bank
expected int
2025-12-05 07:05:28 -06:00
}
func TestJoltage(t *testing.T) {
testCases := []testCase{
2025-12-06 07:34:42 -06:00
// {
// numberOfBanksToTurnOn: 2,
// bank: bank.From("987654321111111"),
// expected: 98,
// },
2025-12-05 07:05:28 -06:00
{
2025-12-06 07:34:42 -06:00
numberOfBanksToTurnOn: 2,
bank: bank.From("811111111111119"),
expected: 89,
2025-12-05 07:05:28 -06:00
},
2025-12-06 07:34:42 -06:00
// {
// numberOfBanksToTurnOn: 2,
// bank: bank.From("234234234234278"),
// expected: 78,
// },
// {
// numberOfBanksToTurnOn: 2,
// bank: bank.From("818181911112111"),
// expected: 92,
// },
// {
// numberOfBanksToTurnOn: 12,
// bank: bank.From("987654321111111"),
// expected: 987654321111,
// },
// {
// numberOfBanksToTurnOn: 12,
// bank: bank.From("811111111111119"),
// expected: 811111111119,
// },
// {
// numberOfBanksToTurnOn: 12,
// bank: bank.From("234234234234278"),
// expected: 434234234278,
// },
// {
// numberOfBanksToTurnOn: 12,
// bank: bank.From("818181911112111"),
// expected: 888911112111,
// },
2025-12-05 07:05:28 -06:00
}
for _, testCase := range testCases {
2025-12-06 07:34:42 -06:00
result := testCase.bank.Joltage(testCase.numberOfBanksToTurnOn)
2025-12-05 07:05:28 -06:00
2025-12-06 07:34:42 -06:00
if result != int64(testCase.expected) {
2025-12-05 07:05:28 -06:00
t.Errorf("got %d but wanted %d", result, testCase.expected)
}
}
}