#include <stdio.h> #include <assert.h> #include "ctest.h" /* the Test "class" */ /* Stuff to test (usually #include'd) */ typedef struct { double real, imag; } complex; complex c_add(complex c1, complex c2) { complex r; r.real = c1.real + c2.real; r.imag = c1.imag + c2.imag; return r; } complex c1 = {1.0, 1.0}; complex c2 = {2.0, 2.0}; complex c3 = {3.0, 3.0}; void testEqual(Test* pTest) { complex z = {1.0, 1.0}; ct_test(pTest, z.real == c1.real && z.imag == c1.imag); ct_test(pTest, z.real != c2.real && z.imag != c2.imag); } void testAdd(Test* pTest) { complex r = c_add(c1, c2); ct_test(pTest, r.real == c3.real && r.imag == c3.imag); } int main() { Test* pTest = ct_create("Complex", NULL); bool rc = ct_addTestFun(pTest, testEqual); rc = ct_addTestFun(pTest, testAdd); assert(rc); ct_setStream(pTest, stdout); ct_run(pTest); ct_report(pTest); ct_destroy(pTest); return 0; } /* Output: Test "Complex": Passed: 3 Failed: 0 */