const std = @import("std");
const app = @import("./main.zig");
test "expect task 1 to yield correct result" {
const input_draw_numbers = [_]u32{
7, 4, 9, 5, 11, 17, 23, 2, 0, 14, 21, 24, 10, 16, 13, 6, 15, 25, 12, 22, 18, 20, 8, 19, 3, 26, 1,
};
var input_boards = [_][25]u32{
.{
22, 13, 17, 11, 0,
8, 2, 23, 4, 24,
21, 9, 14, 16, 7,
6, 10, 3, 18, 5,
1, 12, 20, 15, 19,
},
.{
3, 15, 0, 2, 22,
9, 18, 13, 17, 5,
19, 8, 7, 25, 23,
20, 11, 10, 24, 4,
14, 21, 16, 12, 6,
},
.{
14, 21, 17, 24, 4,
10, 16, 15, 9, 19,
18, 8, 23, 26, 20,
22, 11, 13, 6, 5,
2, 0, 12, 3, 7,
},
};
const expected: u32 = 4512;
try std.testing.expect(app.task1(input_draw_numbers[0..], 5, 5, input_boards[0..]) == expected);
}
test "expect task 2 to yield correct result" {
const input_draw_numbers = [_]u32{
7, 4, 9, 5, 11, 17, 23, 2, 0, 14, 21, 24, 10, 16, 13, 6, 15, 25, 12, 22, 18, 20, 8, 19, 3, 26, 1,
};
var input_boards = [_][25]u32{
.{
22, 13, 17, 11, 0,
8, 2, 23, 4, 24,
21, 9, 14, 16, 7,
6, 10, 3, 18, 5,
1, 12, 20, 15, 19,
},
.{
3, 15, 0, 2, 22,
9, 18, 13, 17, 5,
19, 8, 7, 25, 23,
20, 11, 10, 24, 4,
14, 21, 16, 12, 6,
},
.{
14, 21, 17, 24, 4,
10, 16, 15, 9, 19,
18, 8, 23, 26, 20,
22, 11, 13, 6, 5,
2, 0, 12, 3, 7,
},
};
const expected: u32 = 1924;
try std.testing.expect(app.task2(input_draw_numbers[0..], 5, 5, input_boards[0..]) == expected);
}