basic_attr_test.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. TEST(TestParseTime, parseTimeUTCWithNs)
  14. {
  15. RSTimestampUTC ts1 =
  16. {{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, {0x06, 0xA1, 0x1C, 0xF0}};
  17. RSTimestampUTC ts2;
  18. ASSERT_EQ(parseTimeUTCWithNs(&ts1), 0x010203040506 * 1000000 + 0x06A11CF0/1000);
  19. createTimeUTCWithNs(0x010203040506 * 1000000 + 0x06A11CF0/1000, &ts2);
  20. ASSERT_EQ(memcmp(&ts2, &ts1, sizeof(ts1)), 0);
  21. }
  22. TEST(TestParseTime, parseTimeUTCWithUs)
  23. {
  24. RSTimestampUTC ts1 =
  25. {{0x01, 0x02, 0x03, 0x04, 0x05, 0x06}, {0x00, 0x02, 0x33, 0x44}};
  26. RSTimestampUTC ts2;
  27. ASSERT_EQ(parseTimeUTCWithUs(&ts1), 0x010203040506 * 1000000 + 0x00023344);
  28. createTimeUTCWithUs(0x010203040506 * 1000000 + 0x00023344, &ts2);
  29. ASSERT_EQ(memcmp(&ts2, &ts1, sizeof(ts1)), 0);
  30. }
  31. TEST(TestParseTime, getTimeHost)
  32. {
  33. getTimeHost();
  34. }
  35. TEST(TestParseTemp, parseTempInLe)
  36. {
  37. {
  38. uint8_t temp[] = {0x88, 0x11};
  39. ASSERT_EQ(parseTempInLe((RSTemperature*)&temp), 561);
  40. }
  41. {
  42. uint8_t temp[] = {0x88, 0x91};
  43. ASSERT_EQ(parseTempInLe((RSTemperature*)&temp), -561);
  44. }
  45. }
  46. TEST(TestParseTemp, parseTempInBe)
  47. {
  48. {
  49. uint8_t temp[] = {0x23, 0x10};
  50. ASSERT_EQ(parseTempInBe((RSTemperature*)&temp), 561);
  51. }
  52. {
  53. uint8_t temp[] = {0xA3, 0x10};
  54. ASSERT_EQ(parseTempInBe((RSTemperature*)&temp), -561);
  55. }
  56. }