network_interface_test.cpp
Go to the documentation of this file.
1 /*
2 * Unpublished Copyright (c) 2009-2017 AutonomouStuff, LLC, All Rights Reserved.
3 *
4 * This file is part of the network_interface ROS 1.0 driver which is released under the MIT license.
5 * See file LICENSE included with this software or go to https://opensource.org/licenses/MIT for full license details.
6 */
7 
9 #include <gtest/gtest.h>
10 
11 #include <vector>
12 
14 : public :: testing::Test
15 {
16  protected:
17  float test_float = 123.45670318603515625;
18  double test_double = 123.4567;
19  uint32_t test_int = 1234567891;
20  std::vector<uint8_t> float_be_bytes = {0x42, 0xF6, 0xE9, 0xD5};
21  std::vector<uint8_t> float_le_bytes = {0xD5, 0xE9, 0xF6, 0x42};
22  std::vector<uint8_t> double_be_bytes = {0x40, 0x5E, 0xDD, 0x3A, 0x92, 0xA3, 0x05, 0x53};
23  std::vector<uint8_t> double_le_bytes = {0x53, 0x05, 0xA3, 0x92, 0x3A, 0xDD, 0x5E, 0x40};
24  std::vector<uint8_t> int_be_bytes = {0x49, 0x96, 0x02, 0xD3};
25  std::vector<uint8_t> int_le_bytes = {0xD3, 0x02, 0x96, 0x49};
26 };
27 
28 // Read tests
29 
30 TEST_F(NetworkUtilsTest, testReadBEFloat)
31 {
32  ASSERT_EQ(test_float, AS::Network::read_be<float>(float_be_bytes, 0));
33 }
34 
35 TEST_F(NetworkUtilsTest, testReadBEDouble)
36 {
37  ASSERT_EQ(test_double, AS::Network::read_be<double>(double_be_bytes, 0));
38 }
39 
40 TEST_F(NetworkUtilsTest, testReadBEInt)
41 {
42  ASSERT_EQ(test_int, AS::Network::read_be<uint32_t>(int_be_bytes, 0));
43 }
44 
45 TEST_F(NetworkUtilsTest, testReadLEFloat)
46 {
47  ASSERT_EQ(test_float, AS::Network::read_le<float>(float_le_bytes, 0));
48 }
49 
50 TEST_F(NetworkUtilsTest, testReadLEDouble)
51 {
52  ASSERT_EQ(test_double, AS::Network::read_le<double>(double_le_bytes, 0));
53 }
54 
55 TEST_F(NetworkUtilsTest, testReadLEInt)
56 {
57  ASSERT_EQ(test_int, AS::Network::read_le<uint32_t>(int_le_bytes, 0));
58 }
59 
60 // Write tests
61 
62 TEST_F(NetworkUtilsTest, testWriteBEFloat)
63 {
64  ASSERT_EQ(float_be_bytes, AS::Network::write_be(&test_float));
65 }
66 
67 TEST_F(NetworkUtilsTest, testWriteBEDouble)
68 {
69  ASSERT_EQ(double_be_bytes, AS::Network::write_be(&test_double));
70 }
71 
72 TEST_F(NetworkUtilsTest, testWriteBEInt)
73 {
74  ASSERT_EQ(int_be_bytes, AS::Network::write_be(&test_int));
75 }
76 
77 TEST_F(NetworkUtilsTest, testWriteLEFloat)
78 {
79  ASSERT_EQ(float_le_bytes, AS::Network::write_le(&test_float));
80 }
81 
82 TEST_F(NetworkUtilsTest, testWriteLEDouble)
83 {
84  ASSERT_EQ(double_le_bytes, AS::Network::write_le(&test_double));
85 }
86 
87 TEST_F(NetworkUtilsTest, testWriteLEInt)
88 {
89  ASSERT_EQ(int_le_bytes, AS::Network::write_le(&test_int));
90 }
91 
92 int main(int argc, char **argv)
93 {
94  testing::InitGoogleTest(&argc, argv);
95  return RUN_ALL_TESTS();
96 }
TEST_F
TEST_F(NetworkUtilsTest, testReadBEFloat)
Definition: network_interface_test.cpp:30
NetworkUtilsTest::float_le_bytes
std::vector< uint8_t > float_le_bytes
Definition: network_interface_test.cpp:21
network_utils.h
NetworkUtilsTest::test_double
double test_double
Definition: network_interface_test.cpp:18
NetworkUtilsTest::int_le_bytes
std::vector< uint8_t > int_le_bytes
Definition: network_interface_test.cpp:25
main
int main(int argc, char **argv)
Definition: network_interface_test.cpp:92
NetworkUtilsTest
Definition: network_interface_test.cpp:13
NetworkUtilsTest::double_le_bytes
std::vector< uint8_t > double_le_bytes
Definition: network_interface_test.cpp:23
NetworkUtilsTest::test_int
uint32_t test_int
Definition: network_interface_test.cpp:19
AS::Network::write_le
std::vector< uint8_t > write_le(T *source, typename std::enable_if< std::is_integral< T >::value >::type *=0)
Definition: network_utils.h:63
AS::Network::write_be
std::vector< uint8_t > write_be(T *source, typename std::enable_if< std::is_integral< T >::value >::type *=0)
Definition: network_utils.h:150
NetworkUtilsTest::test_float
float test_float
Definition: network_interface_test.cpp:17
NetworkUtilsTest::float_be_bytes
std::vector< uint8_t > float_be_bytes
Definition: network_interface_test.cpp:20
NetworkUtilsTest::int_be_bytes
std::vector< uint8_t > int_be_bytes
Definition: network_interface_test.cpp:24
NetworkUtilsTest::double_be_bytes
std::vector< uint8_t > double_be_bytes
Definition: network_interface_test.cpp:22


network_interface
Author(s): Joshua Whitley , Daniel Stanek , Joe Kale
autogenerated on Wed Mar 2 2022 00:35:33