1 #include <rtthread.h>
2 #include "utest.h"
3 
TC_uassert_true_false(void)4 static void TC_uassert_true_false(void)
5 {
6     uassert_true(1);
7     uassert_false(0);
8 }
9 
TC_uassert_null_not_null(void)10 static void TC_uassert_null_not_null(void)
11 {
12     int *ptr = RT_NULL;
13     int value = 10;
14     int *ptr2 = &value;
15 
16     uassert_null(ptr);
17     uassert_not_null(ptr2);
18 }
19 
TC_uassert_int_op(void)20 static void TC_uassert_int_op(void)
21 {
22     int a = 5;
23     int b = 10;
24 
25     uassert_int_equal(a, a);
26     uassert_int_not_equal(a, b);
27     uassert_value_less(a, b);
28     uassert_value_less_equal(a, b);
29     uassert_value_less_equal(a, a);
30     uassert_value_greater(b, a);
31     uassert_value_greater_equal(b, a);
32     uassert_value_greater_equal(b, b);
33 }
34 
TC_uassert_float_op(void)35 static void TC_uassert_float_op(void)
36 {
37     float a = 5.0;
38     float b = 5.0;
39 
40     uassert_float_equal(a, b);
41     uassert_float_not_equal(a, b + 0.0002);
42 }
43 
TC_uassert_ptr_op(void)44 static void TC_uassert_ptr_op(void)
45 {
46     int a = 5;
47     int b = 10;
48     int *ptr_a = &a;
49     int *ptr_b = &b;
50 
51     uassert_ptr_equal(ptr_a, ptr_a);
52     uassert_ptr_not_equal(ptr_a, ptr_b);
53 }
54 
TC_uassert_str_op(void)55 static void TC_uassert_str_op(void)
56 {
57     const char *str1 = "Hello";
58     const char *str2 = "Hello";
59     const char *str3 = "World";
60 
61     uassert_str_equal(str1, str2);
62     uassert_str_not_equal(str1, str3);
63 }
64 
TC_uassert_in_range(void)65 static void TC_uassert_in_range(void)
66 {
67     int value = 5;
68     uassert_in_range(value, 1, 10);
69     uassert_not_in_range(value, 10, 20);
70 }
71 
utest_do_tc(void)72 static void utest_do_tc(void)
73 {
74     UTEST_UNIT_RUN(TC_uassert_true_false);
75     UTEST_UNIT_RUN(TC_uassert_null_not_null);
76     UTEST_UNIT_RUN(TC_uassert_int_op);
77     UTEST_UNIT_RUN(TC_uassert_float_op);
78     UTEST_UNIT_RUN(TC_uassert_ptr_op);
79     UTEST_UNIT_RUN(TC_uassert_str_op);
80     UTEST_UNIT_RUN(TC_uassert_in_range);
81 }
82 
83 UTEST_TC_EXPORT(utest_do_tc, "utest.uassert", RT_NULL, RT_NULL, 10);
84