LibMultiSense
LibMultiSense Documentation
utilities_test.cc
Go to the documentation of this file.
1 
37 #include <gtest/gtest.h>
38 
39 #include <details/legacy/utilities.hh>
40 
41 using namespace multisense::legacy;
42 
43 TEST(get_version, basic)
44 {
45  using namespace crl::multisense::details;
46 
47  const wire::VersionType raw_version = 0x0520;
48 
49  const auto version = get_version(raw_version);
50 
51  ASSERT_EQ(version.major, 5);
52  ASSERT_EQ(version.minor, 32);
53 }
54 
55 TEST(version, less_than)
56 {
57  using namespace crl::multisense::details;
58 
59  const wire::VersionType raw_version0 = 0x0520;
60  const auto version0 = get_version(raw_version0);
61 
62  const wire::VersionType raw_version1 = 0x0521;
63  const auto version1 = get_version(raw_version1);
64 
65  ASSERT_TRUE(version0 < version1);
66 }
67 
68 TEST(get_disparities, basic)
69 {
70  using namespace multisense;
71 
72  ASSERT_EQ(get_disparities(64), multisense::MultiSenseConfig::MaxDisparities::D64);
73  ASSERT_EQ(get_disparities(128), multisense::MultiSenseConfig::MaxDisparities::D128);
74  ASSERT_EQ(get_disparities(256), multisense::MultiSenseConfig::MaxDisparities::D256);
75  EXPECT_THROW(get_disparities(1), std::exception);
76 }
77 
78 TEST(convert_sources_from_wire, null)
79 {
80  ASSERT_TRUE(convert_sources(0).empty());
81 }
82 
83 TEST(convert_sources_from_wire, all)
84 {
85  ASSERT_GT(convert_sources(all_sources).size(), 13);
86 }
87 
88 TEST(convert_sources_from_api, null)
89 {
90  ASSERT_EQ(convert_sources(std::vector<multisense::DataSource>{}), 0);
91 }
92 
93 TEST(convert_sources_round_trip, all)
94 {
95  ASSERT_EQ(convert_sources(convert_sources(all_sources)), all_sources);
96 }
97 
98 TEST(get_status, status)
99 {
100  using namespace crl::multisense::details::wire;
101  using namespace multisense;
102 
103  ASSERT_EQ(Status::OK, get_status(Ack::Status_Ok));
104  ASSERT_EQ(Status::TIMEOUT, get_status(Ack::Status_TimedOut));
105  ASSERT_EQ(Status::INTERNAL_ERROR, get_status(Ack::Status_Error));
106  ASSERT_EQ(Status::FAILED, get_status(Ack::Status_Failed));
107  ASSERT_EQ(Status::UNSUPPORTED, get_status(Ack::Status_Unsupported));
108  ASSERT_EQ(Status::UNKNOWN, get_status(Ack::Status_Unknown));
109  ASSERT_EQ(Status::EXCEPTION, get_status(Ack::Status_Exception));
110  ASSERT_EQ(Status::UNKNOWN, get_status(100));
111 }
multisense::Status::UNKNOWN
@ UNKNOWN
crl::multisense::details
Definition: BufferStream.hh:53
multisense::MultiSenseConfig::MaxDisparities::D128
@ D128
128 pixels
crl::multisense::details::wire
Definition: AckMessage.hh:45
TEST
TEST(get_version, basic)
Definition: utilities_test.cc:43
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition: Protocol.hh:137
multisense::Status::EXCEPTION
@ EXCEPTION
multisense::Status::UNSUPPORTED
@ UNSUPPORTED
multisense::Status::OK
@ OK
multisense::Status::TIMEOUT
@ TIMEOUT
multisense
Definition: MultiSenseChannel.hh:44
multisense::Status::FAILED
@ FAILED
multisense::MultiSenseConfig::MaxDisparities::D64
@ D64
64 pixels
multisense::MultiSenseConfig::MaxDisparities::D256
@ D256
256 pixels
multisense::Status::INTERNAL_ERROR
@ INTERNAL_ERROR