forked from yasuhito/tdd_c
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_dollar.c
60 lines (46 loc) · 1.06 KB
/
test_dollar.c
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
#include <setjmp.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdlib.h>
#include <google/cmockery.h>
#include "dollar.h"
static void
test_multiply_5x2() {
Dollar *five = create_dollar( 5 );
Dollar *product = multiply( five, 2 );
Dollar *ten = create_dollar( 10 );
assert_true( equal( product, ten ) );
free( five );
free( product );
free( ten );
}
static void
test_multiply_5x3() {
Dollar *five = create_dollar( 5 );
Dollar *product = multiply( five, 3 );
Dollar *fifteen = create_dollar( 15 );
assert_true( equal( product, fifteen ) );
free( five );
free( product );
free( fifteen );
}
static void
test_equal() {
Dollar *five1 = create_dollar( 5 );
Dollar *five2 = create_dollar( 5 );
Dollar *six = create_dollar( 6 );
assert_true( equal( five1, five2 ) );
assert_false( equal( five1, six ) );
free( five1 );
free( five2 );
free( six );
}
int
main() {
const UnitTest tests[] = {
unit_test( test_multiply_5x2 ),
unit_test( test_multiply_5x3 ),
unit_test( test_equal ),
};
return run_tests( tests );
}