basic_attr_test.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include <gtest/gtest.h>
  2. #include <rs_driver/driver/decoder/basic_attr.hpp>
  3. #include <rs_driver/utility/dbg.hpp>
  4. using namespace robosense::lidar;
  5. TEST(TestParseTime, parseTimeYMD)
  6. {
  7. uint8_t ts1[] = {0x15, 0x0a, 0x01, 0x01, 0x02, 0x03, 0x01, 0x11, 0x02, 0x22};
  8. uint8_t ts2[10];
  9. ASSERT_EQ(parseTimeYMD((RSTimestampYMD*)ts1), 1633021323273546);
  10. createTimeYMD(1633021323273546, (RSTimestampYMD*)ts2);
  11. ASSERT_EQ(memcmp(ts2, ts1, 10), 0);
  12. }
  13. #if 0
  14. TEST(TestParseTime, parseTimeUTCWithNs)
  15. {
  16. RSTimestampUTC ts1 =
  17. {{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, {0x06, 0xA1, 0x1C, 0xF0}};
  18. RSTimestampUTC ts2;
  19. ASSERT_EQ(parseTimeUTCWithNs(&ts1), 0x010203040506 * 1000000 + 0x06A11CF0/1000);
  20. createTimeUTCWithNs(0x010203040506 * 1000000 + 0x06A11CF0/1000, &ts2);
  21. ASSERT_EQ(memcmp(&ts2, &ts1, sizeof(ts1)), 0);
  22. }
  23. #endif
  24. TEST(TestParseTime, parseTimeUTCWithUs)
  25. {
  26. RSTimestampUTC ts1 =
  27. {{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, {0x00, 0x02, 0x33, 0x44}};
  28. RSTimestampUTC ts2;
  29. ASSERT_EQ(parseTimeUTCWithUs(&ts1), 0x010203040506 * 1000000 + 0x00023344);
  30. createTimeUTCWithUs(0x010203040506 * 1000000 + 0x00023344, &ts2);
  31. ASSERT_EQ(memcmp(&ts2, &ts1, sizeof(ts1)), 0);
  32. }
  33. TEST(TestParseTime, getTimeHost)
  34. {
  35. getTimeHost();
  36. }
  37. TEST(TestParseTemp, parseTempInLe)
  38. {
  39. {
  40. uint8_t temp[] = {0x88, 0x11};
  41. ASSERT_EQ(parseTempInLe((RSTemperature*)&temp), 561);
  42. }
  43. {
  44. uint8_t temp[] = {0x88, 0x91};
  45. ASSERT_EQ(parseTempInLe((RSTemperature*)&temp), -561);
  46. }
  47. }
  48. TEST(TestParseTemp, parseTempInBe)
  49. {
  50. {
  51. uint8_t temp[] = {0x23, 0x10};
  52. ASSERT_EQ(parseTempInBe((RSTemperature*)&temp), 561);
  53. }
  54. {
  55. uint8_t temp[] = {0xA3, 0x10};
  56. ASSERT_EQ(parseTempInBe((RSTemperature*)&temp), -561);
  57. }
  58. }