@@ -5,6 +5,7 @@ import "core:os"
5
5
import " core:slice"
6
6
import " core:strconv"
7
7
import " core:strings"
8
+ import " core:testing"
8
9
9
10
main :: proc () {
10
11
data, ok := os.read_entire_file (" resources/2024/day01-input.txt" )
@@ -44,6 +45,14 @@ part1 :: proc(x, y: []int) -> int {
44
45
return result
45
46
}
46
47
48
+ @(test)
49
+ part1_test :: proc (t: ^testing.T) {
50
+ x := []int {3 , 4 , 2 , 1 , 3 , 3 }
51
+ y := []int {4 , 3 , 5 , 3 , 9 , 3 }
52
+ result := part1 (x, y)
53
+ testing.expect_value (t, result, 11 )
54
+ }
55
+
47
56
part2 :: proc (x, y: []int ) -> int {
48
57
m: map [int ]int
49
58
defer delete (m)
@@ -67,9 +76,15 @@ part2 :: proc(x, y: []int) -> int {
67
76
return result
68
77
}
69
78
70
- // solution by LLM part 2
79
+ @(test)
80
+ part2_test :: proc (t: ^testing.T) {
81
+ x := []int {3 , 4 , 2 , 1 , 3 , 3 }
82
+ y := []int {4 , 3 , 5 , 3 , 9 , 3 }
83
+ result := part2 (x, y)
84
+ testing.expect_value (t, result, 31 )
85
+ }
71
86
72
- // Calculate similarity score
87
+ // solution by LLM part 2
73
88
calculate_similarity_score :: proc (left_list, right_list: []int ) -> int {
74
89
// Count frequencies of numbers in the right list
75
90
frequencies := make (map [int ]int )
@@ -89,3 +104,11 @@ calculate_similarity_score :: proc(left_list, right_list: []int) -> int {
89
104
90
105
return total_score
91
106
}
107
+
108
+ @(test)
109
+ calculate_similarity_score_test :: proc (t: ^testing.T) {
110
+ x := []int {3 , 4 , 2 , 1 , 3 , 3 }
111
+ y := []int {4 , 3 , 5 , 3 , 9 , 3 }
112
+ result := calculate_similarity_score (x, y)
113
+ testing.expect_value (t, result, 31 )
114
+ }
0 commit comments