104 lines
2 KiB
C
104 lines
2 KiB
C
#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
|