Challenge 2 — Solution Task: Rewrite Challenge 1's test as a table-driven test: a slice of struct { input int; want bool } with at least 5 cases, looped over with a single shared assertion. package main import "testing" func TestIsEven(t *testing.T) { tests := []struct { input int want bool }{ {4, true}, {7, false}, {0, true}, {-2, true}, {-3, false}, } for _, tt := range tests { result := IsEven(tt.input) if result != tt.want { t.Errorf("IsEven(%d) = %v; want %v", tt.input, result, tt.want) } } } Expected result of running "go test -v": === RUN TestIsEven --- PASS: TestIsEven (0.00s) PASS Notes: - Negative numbers are included to confirm IsEven also works correctly below zero — -2 % 2 in Go is 0, so it's correctly treated as even. - Adding a 6th test case later is just one more line inside the tests slice — no new function or duplicated assertion logic is needed. - This is the same struct + range pattern used for ordinary data throughout the course (Intermediate Chapter 1, Fundamentals Chapter 6), just applied here specifically to test inputs.