package main
import "core:testing"
@(test)
task1_test :: proc(t: ^testing.T) {
state, instructions := parse_input_file("../input_test.txt")
defer free_input_data(state, instructions)
expected := []u8{'C', 'M', 'Z'}
result := task1(state, instructions[:])
defer delete(result)
if len(result) != len(expected) {
testing.errorf(t, "incorrect result length, expected: [%s], got [%s]", expected, result)
}
for char, i in result {
testing.expect_value(t, char, expected[i])
}
}
@(test)
task2_test :: proc(t: ^testing.T) {
state, instructions := parse_input_file("../input_test.txt")
defer free_input_data(state, instructions)
expected := []u8{'M', 'C', 'D'}
result := task2(state, instructions[:])
defer delete(result)
if len(result) != len(expected) {
testing.errorf(t, "incorrect result length, expected: [%s], got [%s]", expected, result)
}
for char, i in result {
testing.expect_value(t, char, expected[i])
}
}