universe@26: /* universe@26: * File: test.c universe@26: * Author: Mike universe@26: * universe@26: * Created on 18. Februar 2012, 14:15 universe@26: */ universe@26: universe@26: #include "test.h" universe@26: universe@26: UcxTestSuite* ucx_test_suite_new() { universe@26: UcxTestSuite* suite = (UcxTestSuite*) malloc(sizeof(UcxTestSuite)); universe@26: if (suite != NULL) { universe@26: suite->success = 0; universe@26: suite->failure = 0; universe@26: suite->tests = NULL; universe@26: } universe@26: return suite; universe@26: } universe@26: universe@26: void ucx_test_suite_free(UcxTestSuite* suite) { universe@26: ucx_list_free(suite->tests); universe@26: free(suite); universe@26: } universe@26: universe@26: void ucx_test_register(UcxTestSuite* suite, UcxTest test) { universe@26: suite->tests = ucx_list_append(suite->tests, (void*) test); universe@26: } universe@26: universe@26: void ucx_test_run(UcxTestSuite* suite, FILE* output) { universe@26: suite->success = 0; universe@26: suite->failure = 0; universe@26: UCX_FOREACH (UcxList*, suite->tests, e) { universe@26: UcxTest test = (UcxTest) (e->data); universe@26: test(suite, output); universe@26: } universe@26: fwrite("\nAll test completed.\n", 1, 21, output); universe@26: fprintf(output, " Total: %d\n Success: %d\n Failure: %d\n", universe@26: suite->success+suite->failure, suite->success, suite->failure); universe@26: }