import stdio pointer current_suite_name byte current_test_number word failure_count = 0 #if ZX_SPECTRUM || CBM || NEC_PC88 || ATARI_8 || AMSTRAD_CPC import keyboard alias wait_after_failure = readkey #elseif MSX alias wait_after_failure = readline #else macro void wait_after_failure() { while true {} } #endif void start_suite(pointer suite_name) { putstrz("Running "z) putstrz(suite_name) new_line() current_suite_name = suite_name current_test_number = 0 } void print_failure() { putstrz("[FAIL]: "z) putstrz(current_suite_name) putstrz(" #"z) putword(current_test_number) new_line() failure_count += 1 } void print_success() { putstrz("[ OK ]: "z) putstrz(current_suite_name) putstrz(" #"z) putword(current_test_number) new_line() } void assert_equal(word expected, word actual) { current_test_number += 1 if actual != expected { print_failure() putstrz("Expected: "z) putword(expected) putstrz(" Actual: "z) putword(actual) new_line() wait_after_failure() #if PRINT_SUCCESSES } else { print_success() #endif } } void assert_true(bool result) { current_test_number += 1 if not(result) { print_failure() readkey() #if PRINT_SUCCESSES } else { print_success() #endif } }