2
0

cb_string_test.cpp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include <string.h>
  2. #include <gtest/gtest.h>
  3. #include "cb_libc.h"
  4. TEST(testCase, cb_strcmp_test01)
  5. {
  6. EXPECT_EQ(cb_strcmp("123", "123"), 0); // v1 == v2
  7. EXPECT_LT(cb_strcmp("123", "1234"), 0); // v1 < v2
  8. EXPECT_GT(cb_strcmp("1234", "123"), 0); // v1 > v2
  9. EXPECT_GT(cb_strcmp("123", ""), 0); // v1 > v2
  10. EXPECT_LT(cb_strcmp("", "123"), 0); // v1 < v2
  11. }
  12. TEST(testCase, cb_memcpy_test01)
  13. {
  14. long long buf_src[128];
  15. long long buf_des[sizeof(buf_src) / sizeof(buf_src[0]) * 2];
  16. long long buf_cmp[sizeof(buf_src) / sizeof(buf_src[0]) * 2];
  17. unsigned char* ptr_src = (unsigned char*)&buf_src;
  18. unsigned char* ptr_cmp = (unsigned char *)&buf_cmp;
  19. unsigned char* ptr_des = (unsigned char*)&buf_des;
  20. for (unsigned int i = 0; i < sizeof(buf_src); i++)
  21. {
  22. ptr_src[i] = i & 0xFF;
  23. }
  24. for (unsigned int i = 0; i < sizeof(void *); i++)
  25. {
  26. memset(ptr_cmp, '#', sizeof(buf_cmp));
  27. memset(ptr_des, '#', sizeof(buf_des));
  28. /* align copy test */
  29. memcpy(ptr_cmp + i, buf_src, 64);
  30. cb_memcpy(ptr_des + i, buf_src, 64);
  31. EXPECT_EQ(memcmp(buf_cmp, buf_des, sizeof(buf_cmp)), 0);
  32. }
  33. }
  34. TEST(testCase, cb_memcpy_test02)
  35. {
  36. #define CB_MEMCPY_TEST_SIZE_ 64
  37. char buf_src[CB_MEMCPY_TEST_SIZE_];
  38. char buf_des[CB_MEMCPY_TEST_SIZE_];
  39. char buf_cmp[CB_MEMCPY_TEST_SIZE_];
  40. for (unsigned i = 0; i < CB_MEMCPY_TEST_SIZE_; i++)
  41. {
  42. memset(buf_src, '#', CB_MEMCPY_TEST_SIZE_);
  43. memset(buf_des, 0, CB_MEMCPY_TEST_SIZE_);
  44. memset(buf_cmp, 0, CB_MEMCPY_TEST_SIZE_);
  45. cb_memcpy(buf_des, buf_src + i, CB_MEMCPY_TEST_SIZE_ - i);
  46. memcpy(buf_cmp, buf_src + i, CB_MEMCPY_TEST_SIZE_ - i);
  47. EXPECT_EQ(memcmp(buf_cmp, buf_des, sizeof(buf_cmp)), 0);
  48. }
  49. for (unsigned i = 0; i < CB_MEMCPY_TEST_SIZE_; i++)
  50. {
  51. memset(buf_src, '#', CB_MEMCPY_TEST_SIZE_);
  52. memset(buf_des, 0, CB_MEMCPY_TEST_SIZE_);
  53. memset(buf_cmp, 0, CB_MEMCPY_TEST_SIZE_);
  54. cb_memcpy(buf_des + i, buf_src, CB_MEMCPY_TEST_SIZE_ - i);
  55. memcpy(buf_cmp + i, buf_src, CB_MEMCPY_TEST_SIZE_ - i);
  56. EXPECT_EQ(memcmp(buf_cmp, buf_des, sizeof(buf_cmp)), 0);
  57. }
  58. for (unsigned i = 0; i < CB_MEMCPY_TEST_SIZE_; i++)
  59. {
  60. memset(buf_src, '#', CB_MEMCPY_TEST_SIZE_);
  61. memset(buf_des, 0, CB_MEMCPY_TEST_SIZE_);
  62. memset(buf_cmp, 0, CB_MEMCPY_TEST_SIZE_);
  63. cb_memcpy(buf_des + i, buf_src + i, CB_MEMCPY_TEST_SIZE_ - i);
  64. memcpy(buf_cmp + i, buf_src + i, CB_MEMCPY_TEST_SIZE_ - i);
  65. EXPECT_EQ(memcmp(buf_cmp, buf_des, sizeof(buf_cmp)), 0);
  66. }
  67. }