section_test.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <gtest/gtest.h>
  2. #include <rs_driver/driver/decoder/section.hpp>
  3. using namespace robosense::lidar;
  4. TEST(TestAzimuthSection, ctor)
  5. {
  6. AzimuthSection sec(10, 20);
  7. ASSERT_EQ(sec.start_, 10);
  8. ASSERT_EQ(sec.end_, 20);
  9. ASSERT_FALSE(sec.in(5));
  10. ASSERT_TRUE(sec.in(10));
  11. ASSERT_TRUE(sec.in(15));
  12. ASSERT_FALSE(sec.in(20));
  13. ASSERT_FALSE(sec.in(25));
  14. }
  15. TEST(TestAzimuthSection, ctorCrossZero)
  16. {
  17. AzimuthSection sec(35000, 10);
  18. ASSERT_EQ(sec.start_, 35000);
  19. ASSERT_EQ(sec.end_, 10);
  20. ASSERT_FALSE(sec.in(34999));
  21. ASSERT_TRUE(sec.in(35000));
  22. ASSERT_TRUE(sec.in(0));
  23. ASSERT_FALSE(sec.in(10));
  24. ASSERT_FALSE(sec.in(15));
  25. }
  26. TEST(TestAzimuthSection, ctorBeyondRound)
  27. {
  28. AzimuthSection sec(36100, 36200);
  29. ASSERT_EQ(sec.start_, 100);
  30. ASSERT_EQ(sec.end_, 200);
  31. }
  32. TEST(TestDistanceSection, ctor)
  33. {
  34. DistanceSection sec(0.5, 200, 0.75, 150);
  35. ASSERT_EQ(sec.min_, 0.75);
  36. ASSERT_EQ(sec.max_, 150);
  37. ASSERT_FALSE(sec.in(0.45));
  38. ASSERT_TRUE(sec.in(0.75));
  39. ASSERT_TRUE(sec.in(0.8));
  40. ASSERT_TRUE(sec.in(150));
  41. ASSERT_FALSE(sec.in(150.5));
  42. }
  43. TEST(TestDistanceSection, ctorNoUseBlock)
  44. {
  45. DistanceSection sec(0.5, 200, 0.0, 200.5);
  46. ASSERT_EQ(sec.min_, 0.5);
  47. ASSERT_EQ(sec.max_, 200);
  48. }