feat: solve day 2 part 2

This commit is contained in:
Stevan Freeborn
2025-12-04 06:33:21 -06:00
parent 267bbd2d81
commit 8c17524cc6
5 changed files with 145 additions and 20 deletions
+45 -2
View File
@@ -42,12 +42,12 @@ func TestEnd(t *testing.T) {
}
}
func TestInvalidIds(t *testing.T) {
func TestInvalidIdsWithEqualValues(t *testing.T) {
r := rnge.From("1000-1100")
expectedInvalidIds := []int64{1010}
resultInvalidIds := []int64{}
for id := range r.InvalidIds() {
for id := range r.InvalidIdsWithEqualHalves() {
resultInvalidIds = append(resultInvalidIds, id)
}
@@ -55,3 +55,46 @@ func TestInvalidIds(t *testing.T) {
t.Errorf("expected invalid IDs %v, got %v", expectedInvalidIds, resultInvalidIds)
}
}
type TestCase struct {
rnge rnge.Range
expectedInvalidIds []int64
}
func TestInvalidIdsWithTwoOrMoreSeq(t *testing.T) {
testCases := []TestCase{
{
rnge: rnge.From("11-22"),
expectedInvalidIds: []int64{11, 22},
},
{
rnge: rnge.From("95-115"),
expectedInvalidIds: []int64{99, 111},
},
{
rnge: rnge.From("998-1012"),
expectedInvalidIds: []int64{999, 1010},
},
{
rnge: rnge.From("1188511880-1188511890"),
expectedInvalidIds: []int64{1188511885},
},
{
rnge: rnge.From("222220-222224"),
expectedInvalidIds: []int64{222222},
},
}
for _, c := range testCases {
resultInvalidIds := []int64{}
for id := range c.rnge.InvalidIdsWithTwoOrMoreSeq() {
resultInvalidIds = append(resultInvalidIds, id)
}
if slices.Equal(resultInvalidIds, c.expectedInvalidIds) == false {
t.Errorf("expected invalid IDs %v, got %v", c.expectedInvalidIds, resultInvalidIds)
}
}
}