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]) } }