#include "xtest.h" #include "source.h" #include "examples.h" static void test_assert() { int i1 = 1; int i2 = 1; int i3 = 2; double d1 = 1.0; double d2 = 1.0; double d3 = 2.0; char c1 = 'a'; char c2 = 'a'; char c3 = 'b'; unsigned int u1 = 1; unsigned int u2 = 1; unsigned int u3 = 2; xtest_assert(i1 == i2); xtest_assert(i1 != i3); xtest_assert(d1 == d2); xtest_assert(d1 != d3); xtest_assert(c1 == c2); xtest_assert(c1 != c3); xtest_assert(u1 == u2); xtest_assert(u1 != u3); xtest_assert(1); xtest_assert(ret_1()); } static void test_assert_is() { int i1 = 1; int i2 = 1; int i3 = 2; double d1 = 1.0; double d2 = 1.0; double d3 = 2.0; char c1 = 'a'; char c2 = 'a'; char c3 = 'b'; unsigned int u1 = 1; unsigned int u2 = 1; unsigned int u3 = 2; _Bool b1 = 0; _Bool b2 = 0; _Bool b3 = 1; xtest_assert_is(i1, i2); xtest_assert_is_not(i1, i3); xtest_assert_float_is(d1, d2, 4); xtest_assert_float_is_not(d1, d3, 4); xtest_assert_is(c1, c2); xtest_assert_is_not(c1, c3); xtest_assert_is(u1, u2); xtest_assert_is_not(u1, u3); xtest_assert_is(b1, b2); xtest_assert_is_not(b1, b3); } static void test_assert_str_is() { const char *s1 = "ret_1"; const char *s2 = "ret_1"; const char *s3 = "bar"; xtest_assert_str_is(s1, s2); xtest_assert_str_is_not(s1, s3); } static void test_assert_mem_is() { char m1[100]; char m2[100]; for (int i = 0; i < 100; ++i) { m1[i] = m2[i] = 'a'; } for (int i = 50; i < 100; ++i) { m2[i] = 'b'; } xtest_assert_mem_is(m1, m2, 10); xtest_assert_mem_is(m1, m2, 50); xtest_assert_mem_is_not(m1, m2, 60); xtest_assert_mem_is_not(m1, m2, 100); } void example_assertions(void) { xtest_run(test_assert); xtest_run(test_assert_is); xtest_run(test_assert_str_is); xtest_run(test_assert_mem_is); } #ifndef XTEST_ALL_EXAMPLES XTEST_RUN_MAIN(example_assertions) #endif //XTEST_ALL_EXAMPLES