From b0bb02f6953f80fb379c9e9e890bd8e4a371f980 Mon Sep 17 00:00:00 2001 From: Kharec Date: Tue, 23 Dec 2025 06:17:51 +0100 Subject: [PATCH] test: add unit test for part one and add one more edge case --- internal/2017/DayFour/code_test.go | 41 ++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 internal/2017/DayFour/code_test.go diff --git a/internal/2017/DayFour/code_test.go b/internal/2017/DayFour/code_test.go new file mode 100644 index 0000000..e925434 --- /dev/null +++ b/internal/2017/DayFour/code_test.go @@ -0,0 +1,41 @@ +package dayfour + +import "testing" + +func TestPartOne(t *testing.T) { + tests := []struct { + name string + input []string + expected int + }{ + { + name: "aa bb cc dd ee is valid", + input: []string{"aa bb cc dd ee"}, + expected: 1, + }, + { + name: "aa bb cc dd aa is not valid", + input: []string{"aa bb cc dd aa"}, + expected: 0, + }, + { + name: "aa bb cc dd aaa is valid", + input: []string{"aa bb cc dd aaa"}, + expected: 1, + }, + { + name: "multiple passphrases", + input: []string{"aa bb cc dd ee", "aa bb cc dd aa", "aa bb cc dd aaa"}, + expected: 2, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := PartOne(tt.input) + if got != tt.expected { + t.Errorf("PartOne() = %d, want %d", got, tt.expected) + } + }) + } +}