TC_uassert.c 1.7 KB

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