cb_hashfun_test.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * SPDX-License-Identifier: Apache-2.0
  3. *
  4. * Change Logs:
  5. * Date Author Notes
  6. * 2022-05-14 tyx first implementation
  7. */
  8. #include <gtest/gtest.h>
  9. #include "cb_hashfun.h"
  10. TEST(testCase, cb_hashfun_test01)
  11. {
  12. cb_uint32_t h0, h1, h2, h3, h4, h5;
  13. h0 = cb_hash_string("");
  14. h1 = cb_hash_string("1");
  15. h2 = cb_hash_string("2");
  16. h3 = cb_hash_string("3");
  17. h4 = cb_hash_string("4");
  18. h5 = cb_hash_string("5");
  19. EXPECT_NE(h0 != h1 || h0 != h2 || h0 != h3 || h0 != h4 || h0 != h5, 0);
  20. }
  21. TEST(testCase, cb_hashfun_test02)
  22. {
  23. char s1[] = "EQ";
  24. const char *s2 = "EQ";
  25. EXPECT_EQ(cb_hash_string_cmp("", ""), 0);
  26. EXPECT_NE(cb_hash_string_cmp("", s1), 0);
  27. EXPECT_EQ(cb_hash_string_cmp(s1, s1), 0);
  28. EXPECT_EQ(cb_hash_string_cmp(s1, s2), 0);
  29. }
  30. TEST(testCase, cb_hashfun_test03)
  31. {
  32. cb_uint32_t n0 = 0, n1 = 1, n2 = 2, n3 = 3, n4 = 4, n5 = 5;
  33. cb_uint32_t h0, h1, h2, h3, h4, h5;
  34. h0 = cb_hash_uint32(&n0);
  35. h1 = cb_hash_uint32(&n1);
  36. h2 = cb_hash_uint32(&n2);
  37. h3 = cb_hash_uint32(&n3);
  38. h4 = cb_hash_uint32(&n4);
  39. h5 = cb_hash_uint32(&n5);
  40. EXPECT_NE(h0 != h1 || h0 != h2 || h0 != h3 || h0 != h4 || h0 != h5, 0);
  41. }
  42. TEST(testCase, cb_hashfun_test04)
  43. {
  44. cb_uint32_t n0 = 0, n1 = 1, n00 = 0;
  45. EXPECT_EQ(cb_hash_uint32_cmp(&n0, &n0), 0);
  46. EXPECT_NE(cb_hash_string_cmp(&n0, &n1), 0);
  47. EXPECT_EQ(cb_hash_uint32_cmp(&n0, &n00), 0);
  48. }