]> git.llucax.com Git - software/mutest.git/blob - sample/factorial_test.c
Initial import
[software/mutest.git] / sample / factorial_test.c
1
2 #include "../mutest.h"
3 #include "factorial.h"
4
5 void mu_test_factorial_zero() {
6         unsigned x = factorial(0);
7         mu_check(x == 1);
8 }
9
10 void mu_test_factorial_one() {
11         unsigned x = factorial(1);
12         /* this test is wrong on purpose, to see how it fails */
13         mu_check(x == 2);
14 }
15
16 void mu_test_factorial_positive() {
17         unsigned x = factorial(2);
18         /* this test is wrong on purpose, to see how it fails */
19         mu_check(x == 3);
20
21         x = factorial(3);
22         /* we don't want to continue if this fails, because the next result
23          * depends on this one. This one will succeed. */
24         mu_ensure(x == 6);
25
26         x = factorial(x);
27         mu_check(x == 720);
28
29         x = factorial(4);
30         mu_ensure(x == 6); /* same as before, but this one will fail. */
31
32         x = factorial(x-15); /* and this will never be executed */
33         mu_check(x == 362881); /* but if excecuted, will fail */
34 }
35