1 #include <ccan/minmax/minmax.h>
2 #include <ccan/tap/tap.h>
8 /* This is how many tests you plan to run */
13 ok1(min(-1, 1) == -1);
16 ok1(min(-1U, 1U) == 1U);
17 ok1(max(-1U, 1U) == -1U);
19 ok1(max_t(signed int, -1, 1U) == 1);
20 ok1(max_t(unsigned int, -1, 1) == -1U);
22 ok1(min_t(signed int, -1, 1U) == -1);
23 ok1(min_t(unsigned int, -1, 1) == 1U);
25 ok1(clamp(1, 2, 5) == 2);
26 ok1(clamp(2, 2, 5) == 2);
27 ok1(clamp(3, 2, 5) == 3);
28 ok1(clamp(5, 2, 5) == 5);
29 ok1(clamp(6, 2, 5) == 5);
31 ok1(clamp(-1, 2, 5) == 2);
32 ok1(clamp(-1U, 2U, 5U) == 5U);
34 ok1(clamp_t(signed int, -1, 2, 5) == 2);
35 ok1(clamp_t(unsigned int, -1, 2, 5) == 5);
37 /* test for double evaluation */
39 ok1(min(a++, b++) == 0);
40 ok1((a == 1) && (b == 1));
41 ok1(max(++a, ++b) == 2);
42 ok1((a == 2) && (b == 2));
44 /* This exits depending on whether all tests passed */