@@ -53,7 +53,7 @@ TEST_CASE("Testing dbc file loading", "[fileio]") {
53
53
libdbc::Message msg (500 , " IO_DEBUG" , 4 , " IO" );
54
54
55
55
std::vector<std::string> receivers{" DBG" };
56
- libdbc::Signal sig (" IO_DEBUG_test_unsigned" , false , 0 , 8 , true , false , 1 , 0 , 0 , 0 , " " , receivers);
56
+ libdbc::Signal sig (" IO_DEBUG_test_unsigned" , false , 0 , 8 , false , false , 1 , 0 , 0 , 0 , " " , receivers);
57
57
msg.signals .push_back (sig);
58
58
59
59
std::vector<libdbc::Message> msgs = {msg};
@@ -71,6 +71,35 @@ TEST_CASE("Testing dbc file loading", "[fileio]") {
71
71
72
72
}
73
73
74
+ TEST_CASE (" Testing big endian, little endian" ) {
75
+ const auto * filename = std::tmpnam (NULL );
76
+
77
+ auto * file = std::fopen (filename, " w" );
78
+ CHECK (file);
79
+
80
+ std::fputs (PRIMITIVE_DBC.c_str (), file);
81
+ // first big endian
82
+ // second little endian
83
+ std::fputs (R"( BO_ 234 MSG1: 8 Vector__XXX
84
+ SG_ Sig1 : 55|16@0- (0.1,0) [-3276.8|-3276.7] "C" Vector__XXX
85
+ SG_ Sig2 : 39|16@1- (0.1,0) [-3276.8|-3276.7] "C" Vector__XXX)" , file);
86
+ std::fclose (file);
87
+
88
+ auto parser = libdbc::DbcParser ();
89
+ parser.parse_file (filename);
90
+
91
+ REQUIRE (parser.get_messages ().size () == 1 );
92
+ REQUIRE (parser.get_messages ().at (0 ).signals .size () == 2 );
93
+ {
94
+ const auto signal = parser.get_messages ().at (0 ).signals .at (0 );
95
+ REQUIRE (signal.is_bigendian == true );
96
+ }
97
+ {
98
+ const auto signal = parser.get_messages ().at (0 ).signals .at (1 );
99
+ REQUIRE (signal.is_bigendian == false );
100
+ }
101
+ }
102
+
74
103
TEST_CASE (" Testing negative values" ) {
75
104
const auto * filename = std::tmpnam (NULL );
76
105
0 commit comments