blob: 3ed92de07e2cea824fd281ae0a53f4011b8822f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#include "minunit.h"
#include <stats.h>
#include <string.h>
/**
* tests for other stats functions are in
* ../../liblcthw/tests/stats_tests.c
*/
static char *st_str = NULL;
char *test_stats_stringify()
{
Stats *st = Stats_create();
mu_assert(st != NULL, "stats create failed");
// fill with dummy data.
st->sum = 8238.33892;
st->sumsq = 4260238.8292;
st->n = 28;
st->min = 28.3921;
st->max = 238.27;
st_str = Stats_stringify(st);
mu_assert(st_str != NULL, "stats stringify failed");
char *expected_st_str = "8238.34:4260238.83:28:28.39:238.27";
mu_assert(strncmp(st_str, expected_st_str, strlen(expected_st_str)) == 0,
"stringified str invalid");
// cleanup
free(st);
return NULL;
}
char *test_stats_unstringify()
{
mu_assert(st_str != NULL, "st_str not initialized");
Stats *st = Stats_unstringify(st_str);
mu_assert(st != NULL, "stats unstringify failed");
mu_assert(st->sum == 8238.34, "stats sum incorrect");
mu_assert(st->sumsq == 4260238.83, "stats sumsq incorrect");
mu_assert(st->n == 28, "stats n incorrect");
mu_assert(st->min == 28.39, "stats min incorrect");
mu_assert(st->max == 238.27, "stats max incorrect");
// clean up
free(st);
free(st_str);
return NULL;
}
char *all_tests()
{
mu_suite_start();
mu_run_test(test_stats_stringify);
mu_run_test(test_stats_unstringify);
return NULL;
}
RUN_TESTS(all_tests);
|