test_iterator.cpp
Go to the documentation of this file.
1 /*********************************************************************
2  * C++ unit test for dataspeed_can_tools/DbcIterator.hpp
3  *********************************************************************/
4 
5 #include <gtest/gtest.h>
6 
7 #include <ros/package.h>
8 
9 // String stream
10 #include <iostream>
11 #include <fstream>
12 #include <string>
13 
14 // File under test
15 #include "../src/DbcIterator.hpp"
16 
17 bool fileExists(const std::string& name) {
18  std::ifstream f(name.c_str());
19  return f.good();
20 }
21 
22 // Check that parsing valid signals does not cause an error.
23 TEST(ITERATOR, parsing)
24 {
25  ASSERT_TRUE(fileExists(ros::package::getPath("dataspeed_can_tools")+"/tests/Test.dbc")) << "Could not find dbc file.";
26  try {
27  DBCIterator dbc(ros::package::getPath("dataspeed_can_tools")+"/tests/Test.dbc");
28  } catch (const std::exception&) {
29  printf("Could not open file.\n");
30  FAIL();
31  }
32 }
33 
34 // Check the values output by parsing valid signals.
35 TEST(ITERATOR, data)
36 {
37  ASSERT_TRUE(fileExists(ros::package::getPath("dataspeed_can_tools")+"/tests/Test.dbc")) << "Could not find dbc file.";
38  DBCIterator dbc(ros::package::getPath("dataspeed_can_tools")+"/tests/Test.dbc");
39 
40  Message msg = dbc[0];
41  EXPECT_EQ(msg.getId(), 166u);
42  EXPECT_EQ(msg.getName(), "MultiplexTest");
43  EXPECT_EQ(msg.getDlc(), 5u);
44  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
45 
46  EXPECT_EQ(msg[0].getName(), "MultiplexedD");
47  EXPECT_EQ(msg[0].getMultiplexor(), MULTIPLEXED);
48  EXPECT_EQ(msg[0].getMultiplexedNumber(), 51);
49  EXPECT_EQ(msg[0].getStartbit(), 8);
50  EXPECT_EQ(msg[0].getLength(), 32);
51  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
52  EXPECT_EQ(msg[0].getSign(), SIGNED);
53  EXPECT_EQ(msg[0].getFactor(), 1);
54  EXPECT_EQ(msg[0].getOffset(), 0);
55  EXPECT_EQ(msg[0].getMinimum(), 0);
56  EXPECT_EQ(msg[0].getMaximum(), 0);
57  EXPECT_EQ(msg[0].getUnit(), "");
58 
59  EXPECT_EQ(msg[1].getName(), "MultiplexedC");
60  EXPECT_EQ(msg[1].getMultiplexor(), MULTIPLEXED);
61  EXPECT_EQ(msg[1].getMultiplexedNumber(), 34);
62  EXPECT_EQ(msg[1].getStartbit(), 16);
63  EXPECT_EQ(msg[1].getLength(), 16);
64  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
65  EXPECT_EQ(msg[1].getSign(), UNSIGNED);
66  EXPECT_EQ(msg[1].getFactor(), 1);
67  EXPECT_EQ(msg[1].getOffset(), 0);
68  EXPECT_EQ(msg[1].getMinimum(), 0);
69  EXPECT_EQ(msg[1].getMaximum(), 0);
70  EXPECT_EQ(msg[1].getUnit(), "");
71 
72  EXPECT_EQ(msg[2].getName(), "MultiplexedB");
73  EXPECT_EQ(msg[2].getMultiplexor(), MULTIPLEXED);
74  EXPECT_EQ(msg[2].getMultiplexedNumber(), 34);
75  EXPECT_EQ(msg[2].getStartbit(), 8);
76  EXPECT_EQ(msg[2].getLength(), 8);
77  EXPECT_EQ(msg[2].getByteOrder(), INTEL);
78  EXPECT_EQ(msg[2].getSign(), SIGNED);
79  EXPECT_EQ(msg[2].getFactor(), 1);
80  EXPECT_EQ(msg[2].getOffset(), 0);
81  EXPECT_EQ(msg[2].getMinimum(), 0);
82  EXPECT_EQ(msg[2].getMaximum(), 0);
83  EXPECT_EQ(msg[2].getUnit(), "");
84 
85  EXPECT_EQ(msg[3].getName(), "MultiplexedA");
86  EXPECT_EQ(msg[3].getMultiplexor(), MULTIPLEXED);
87  EXPECT_EQ(msg[3].getMultiplexedNumber(), 17);
88  EXPECT_EQ(msg[3].getStartbit(), 8);
89  EXPECT_EQ(msg[3].getLength(), 8);
90  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
91  EXPECT_EQ(msg[3].getSign(), SIGNED);
92  EXPECT_EQ(msg[3].getFactor(), 1);
93  EXPECT_EQ(msg[3].getOffset(), 0);
94  EXPECT_EQ(msg[3].getMinimum(), 0);
95  EXPECT_EQ(msg[3].getMaximum(), 0);
96  EXPECT_EQ(msg[3].getUnit(), "");
97 
98  EXPECT_EQ(msg[3].getName(), "MultiplexedA");
99  EXPECT_EQ(msg[3].getMultiplexor(), MULTIPLEXED);
100  EXPECT_EQ(msg[3].getMultiplexedNumber(), 17);
101  EXPECT_EQ(msg[3].getStartbit(), 8);
102  EXPECT_EQ(msg[3].getLength(), 8);
103  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
104  EXPECT_EQ(msg[3].getSign(), SIGNED);
105  EXPECT_EQ(msg[3].getFactor(), 1);
106  EXPECT_EQ(msg[3].getOffset(), 0);
107  EXPECT_EQ(msg[3].getMinimum(), 0);
108  EXPECT_EQ(msg[3].getMaximum(), 0);
109  EXPECT_EQ(msg[3].getUnit(), "");
110 
111  EXPECT_EQ(msg[4].getName(), "Multiplexor");
112  EXPECT_EQ(msg[4].getMultiplexor(), MULTIPLEXOR);
113  EXPECT_EQ(msg[4].getStartbit(), 0);
114  EXPECT_EQ(msg[4].getLength(), 8);
115  EXPECT_EQ(msg[4].getByteOrder(), INTEL);
116  EXPECT_EQ(msg[4].getSign(), UNSIGNED);
117  EXPECT_EQ(msg[4].getFactor(), 1);
118  EXPECT_EQ(msg[4].getOffset(), 0);
119  EXPECT_EQ(msg[4].getMinimum(), 0);
120  EXPECT_EQ(msg[4].getMaximum(), 0);
121  EXPECT_EQ(msg[4].getUnit(), "");
122 
123  // AdvancedTestD
124  msg = dbc[1];
125  EXPECT_EQ(msg.getId(), 165u);
126  EXPECT_EQ(msg.getName(), "AdvancedTestD");
127  EXPECT_EQ(msg.getDlc(), 4u);
128  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
129 
130  EXPECT_EQ(msg[0].getName(), "AdvancedSignal8");
131  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
132  EXPECT_EQ(msg[0].getStartbit(), 24);
133  EXPECT_EQ(msg[0].getLength(), 8);
134  EXPECT_EQ(msg[0].getByteOrder(), 1);
135  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
136  EXPECT_EQ(msg[0].getFactor(), -10);
137  EXPECT_EQ(msg[0].getOffset(), 0);
138  EXPECT_EQ(msg[0].getMinimum(), 0);
139  EXPECT_EQ(msg[0].getMaximum(), 0);
140  EXPECT_EQ(msg[0].getUnit(), "");
141 
142  EXPECT_EQ(msg[1].getName(), "AdvancedSignal7");
143  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
144  EXPECT_EQ(msg[1].getStartbit(), 16);
145  EXPECT_EQ(msg[1].getLength(), 8);
146  EXPECT_EQ(msg[1].getByteOrder(), 1);
147  EXPECT_EQ(msg[1].getSign(), SIGNED);
148  EXPECT_EQ(msg[1].getFactor(), -10);
149  EXPECT_EQ(msg[1].getOffset(), 0);
150  EXPECT_EQ(msg[1].getMinimum(), 0);
151  EXPECT_EQ(msg[1].getMaximum(), 0);
152  EXPECT_EQ(msg[1].getUnit(), "");
153 
154  EXPECT_EQ(msg[2].getName(), "AdvancedSignal6");
155  EXPECT_EQ(msg[2].getMultiplexor(), NONE);
156  EXPECT_EQ(msg[2].getStartbit(), 8);
157  EXPECT_EQ(msg[2].getLength(), 8);
158  EXPECT_EQ(msg[2].getByteOrder(), INTEL);
159  EXPECT_EQ(msg[2].getSign(), UNSIGNED);
160  EXPECT_EQ(msg[2].getFactor(), 10);
161  EXPECT_EQ(msg[2].getOffset(), 0);
162  EXPECT_EQ(msg[2].getMinimum(), 0);
163  EXPECT_EQ(msg[2].getMaximum(), 0);
164  EXPECT_EQ(msg[2].getUnit(), "");
165 
166  EXPECT_EQ(msg[3].getName(), "AdvancedSignal5");
167  EXPECT_EQ(msg[3].getMultiplexor(), NONE);
168  EXPECT_EQ(msg[3].getStartbit(), 0);
169  EXPECT_EQ(msg[3].getLength(), 8);
170  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
171  EXPECT_EQ(msg[3].getSign(), SIGNED);
172  EXPECT_EQ(msg[3].getFactor(), 10);
173  EXPECT_EQ(msg[3].getOffset(), 0);
174  EXPECT_EQ(msg[3].getMinimum(), 0);
175  EXPECT_EQ(msg[3].getMaximum(), 0);
176  EXPECT_EQ(msg[3].getUnit(), "");
177 
178  // AdvancedTestC
179  msg = dbc[2];
180  EXPECT_EQ(msg.getId(), 164u);
181  EXPECT_EQ(msg.getName(), "AdvancedTestC");
182  EXPECT_EQ(msg.getDlc(), 8u);
183  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
184 
185  EXPECT_EQ(msg[0].getName(), "AdvancedSignal4");
186  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
187  EXPECT_EQ(msg[0].getStartbit(), 7);
188  EXPECT_EQ(msg[0].getLength(), 64);
189  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
190  EXPECT_EQ(msg[0].getSign(), SIGNED);
191  EXPECT_EQ(msg[0].getFactor(), 1);
192  EXPECT_EQ(msg[0].getOffset(), 0);
193  EXPECT_EQ(msg[0].getMinimum(), 0);
194  EXPECT_EQ(msg[0].getMaximum(), 0);
195  EXPECT_EQ(msg[0].getUnit(), "");
196 
197  // AdvancedTestB
198  msg = dbc[3];
199  EXPECT_EQ(msg.getId(), 163u);
200  EXPECT_EQ(msg.getName(), "AdvancedTestB");
201  EXPECT_EQ(msg.getDlc(), 8u);
202  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
203 
204  EXPECT_EQ(msg[0].getName(), "AdvancedSignal3");
205  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
206  EXPECT_EQ(msg[0].getStartbit(), 0);
207  EXPECT_EQ(msg[0].getLength(), 64);
208  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
209  EXPECT_EQ(msg[0].getSign(), SIGNED);
210  EXPECT_EQ(msg[0].getFactor(), 1);
211  EXPECT_EQ(msg[0].getOffset(), 0);
212  EXPECT_EQ(msg[0].getMinimum(), 0);
213  EXPECT_EQ(msg[0].getMaximum(), 0);
214  EXPECT_EQ(msg[0].getUnit(), "");
215 
216  // AdvancedTestA
217  msg = dbc[4];
218  EXPECT_EQ(msg.getId(), 162u);
219  EXPECT_EQ(msg.getName(), "AdvancedTestA");
220  EXPECT_EQ(msg.getDlc(), 8u);
221  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
222 
223  EXPECT_EQ(msg[0].getName(), "AdvancedSignal2");
224  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
225  EXPECT_EQ(msg[0].getStartbit(), 39);
226  EXPECT_EQ(msg[0].getLength(), 32);
227  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
228  EXPECT_EQ(msg[0].getSign(), SIGNED);
229  EXPECT_EQ(msg[0].getFactor(), 1);
230  EXPECT_EQ(msg[0].getOffset(), 0);
231  EXPECT_EQ(msg[0].getMinimum(), 0);
232  EXPECT_EQ(msg[0].getMaximum(), 0);
233  EXPECT_EQ(msg[0].getUnit(), "");
234 
235  EXPECT_EQ(msg[1].getName(), "AdvancedSignal1");
236  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
237  EXPECT_EQ(msg[1].getStartbit(), 0);
238  EXPECT_EQ(msg[1].getLength(), 32);
239  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
240  EXPECT_EQ(msg[1].getSign(), SIGNED);
241  EXPECT_EQ(msg[1].getFactor(), 1);
242  EXPECT_EQ(msg[1].getOffset(), 0);
243  EXPECT_EQ(msg[1].getMinimum(), 0);
244  EXPECT_EQ(msg[1].getMaximum(), 0);
245  EXPECT_EQ(msg[1].getUnit(), "");
246 
247  // MotorolaTestD
248  msg = dbc[5];
249  EXPECT_EQ(msg.getId(), 196u);
250  EXPECT_EQ(msg.getName(), "MotorolaTestD");
251  EXPECT_EQ(msg.getDlc(), 8u);
252  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
253  EXPECT_EQ(msg[0].getName(), "MotorolaSignalU64");
254  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
255  EXPECT_EQ(msg[0].getStartbit(), 7);
256  EXPECT_EQ(msg[0].getLength(), 64);
257  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
258  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
259  EXPECT_EQ(msg[0].getFactor(), 1);
260  EXPECT_EQ(msg[0].getOffset(), 0);
261  EXPECT_EQ(msg[0].getMinimum(), 0);
262  EXPECT_EQ(msg[0].getMaximum(), 0);
263  EXPECT_EQ(msg[0].getUnit(), "");
264 
265  // MotorolaTestC
266  msg = dbc[6];
267  EXPECT_EQ(msg.getId(), 195u);
268  EXPECT_EQ(msg.getName(), "MotorolaTestC");
269  EXPECT_EQ(msg.getDlc(), 8u);
270  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
271  EXPECT_EQ(msg[0].getName(), "MotorolaSignal64");
272  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
273  EXPECT_EQ(msg[0].getStartbit(), 7);
274  EXPECT_EQ(msg[0].getLength(), 64);
275  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
276  EXPECT_EQ(msg[0].getSign(), SIGNED);
277  EXPECT_EQ(msg[0].getFactor(), 1);
278  EXPECT_EQ(msg[0].getOffset(), 0);
279  EXPECT_EQ(msg[0].getMinimum(), 0);
280  EXPECT_EQ(msg[0].getMaximum(), 0);
281  EXPECT_EQ(msg[0].getUnit(), "");
282 
283  // MotorolaTestB
284  msg = dbc[7];
285  EXPECT_EQ(msg.getId(), 194u);
286  EXPECT_EQ(msg.getName(), "MotorolaTestB");
287  EXPECT_EQ(msg.getDlc(), 8u);
288  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
289 
290  EXPECT_EQ(msg[0].getName(), "MotorolaSignalU32");
291  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
292  EXPECT_EQ(msg[0].getStartbit(), 39);
293  EXPECT_EQ(msg[0].getLength(), 32);
294  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
295  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
296  EXPECT_EQ(msg[0].getFactor(), 1);
297  EXPECT_EQ(msg[0].getOffset(), 0);
298  EXPECT_EQ(msg[0].getMinimum(), 0);
299  EXPECT_EQ(msg[0].getMaximum(), 0);
300  EXPECT_EQ(msg[0].getUnit(), "");
301 
302  EXPECT_EQ(msg[1].getName(), "MotorolaSignal32");
303  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
304  EXPECT_EQ(msg[1].getStartbit(), 7);
305  EXPECT_EQ(msg[1].getLength(), 32);
306  EXPECT_EQ(msg[1].getByteOrder(), MOTOROLA);
307  EXPECT_EQ(msg[1].getSign(), SIGNED);
308  EXPECT_EQ(msg[1].getFactor(), 1);
309  EXPECT_EQ(msg[1].getOffset(), 0);
310  EXPECT_EQ(msg[1].getMinimum(), 0);
311  EXPECT_EQ(msg[1].getMaximum(), 0);
312  EXPECT_EQ(msg[1].getUnit(), "");
313 
314  // MotorolaTestA
315  msg = dbc[8];
316  EXPECT_EQ(msg.getId(), 193u);
317  EXPECT_EQ(msg.getName(), "MotorolaTestA");
318  EXPECT_EQ(msg.getDlc(), 6u);
319  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
320 
321  EXPECT_EQ(msg[0].getName(), "MotorolaSignalU16");
322  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
323  EXPECT_EQ(msg[0].getStartbit(), 39);
324  EXPECT_EQ(msg[0].getLength(), 16);
325  EXPECT_EQ(msg[0].getByteOrder(), MOTOROLA);
326  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
327  EXPECT_EQ(msg[0].getFactor(), 1);
328  EXPECT_EQ(msg[0].getOffset(), 0);
329  EXPECT_EQ(msg[0].getMinimum(), 0);
330  EXPECT_EQ(msg[0].getMaximum(), 0);
331  EXPECT_EQ(msg[0].getUnit(), "");
332 
333  EXPECT_EQ(msg[1].getName(), "MotorolaSignal16");
334  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
335  EXPECT_EQ(msg[1].getStartbit(), 23);
336  EXPECT_EQ(msg[1].getLength(), 16);
337  EXPECT_EQ(msg[1].getByteOrder(), MOTOROLA);
338  EXPECT_EQ(msg[1].getSign(), SIGNED);
339  EXPECT_EQ(msg[1].getFactor(), 1);
340  EXPECT_EQ(msg[1].getOffset(), 0);
341  EXPECT_EQ(msg[1].getMinimum(), 0);
342  EXPECT_EQ(msg[1].getMaximum(), 0);
343  EXPECT_EQ(msg[1].getUnit(), "");
344 
345  EXPECT_EQ(msg[2].getName(), "MotorolaSignalU8");
346  EXPECT_EQ(msg[2].getMultiplexor(), NONE);
347  EXPECT_EQ(msg[2].getStartbit(), 15);
348  EXPECT_EQ(msg[2].getLength(), 8);
349  EXPECT_EQ(msg[2].getByteOrder(), MOTOROLA);
350  EXPECT_EQ(msg[2].getSign(), UNSIGNED);
351  EXPECT_EQ(msg[2].getFactor(), 1);
352  EXPECT_EQ(msg[2].getOffset(), 0);
353  EXPECT_EQ(msg[2].getMinimum(), 0);
354  EXPECT_EQ(msg[2].getMaximum(), 0);
355  EXPECT_EQ(msg[2].getUnit(), "");
356 
357  EXPECT_EQ(msg[3].getName(), "MotorolaSignal8");
358  EXPECT_EQ(msg[3].getMultiplexor(), NONE);
359  EXPECT_EQ(msg[3].getStartbit(), 7);
360  EXPECT_EQ(msg[3].getLength(), 8);
361  EXPECT_EQ(msg[3].getByteOrder(), MOTOROLA);
362  EXPECT_EQ(msg[3].getSign(), SIGNED);
363  EXPECT_EQ(msg[3].getFactor(), 1);
364  EXPECT_EQ(msg[3].getOffset(), 0);
365  EXPECT_EQ(msg[3].getMinimum(), 0);
366  EXPECT_EQ(msg[3].getMaximum(), 0);
367  EXPECT_EQ(msg[3].getUnit(), "");
368 
369  // IntelTestD
370  msg = dbc[9];
371  EXPECT_EQ(msg.getId(), 180u);
372  EXPECT_EQ(msg.getName(), "IntelTestD");
373  EXPECT_EQ(msg.getDlc(), 8u);
374  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
375  EXPECT_EQ(msg[0].getName(), "IntelSignalU64");
376  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
377  EXPECT_EQ(msg[0].getStartbit(), 0);
378  EXPECT_EQ(msg[0].getLength(), 64);
379  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
380  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
381  EXPECT_EQ(msg[0].getFactor(), 1);
382  EXPECT_EQ(msg[0].getOffset(), 0);
383  EXPECT_EQ(msg[0].getMinimum(), 0);
384  EXPECT_EQ(msg[0].getMaximum(), 0);
385  EXPECT_EQ(msg[0].getUnit(), "");
386 
387  // IntelTestC
388  msg = dbc[10];
389  EXPECT_EQ(msg.getId(), 179u);
390  EXPECT_EQ(msg.getName(), "IntelTestC");
391  EXPECT_EQ(msg.getDlc(), 8u);
392  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
393  EXPECT_EQ(msg[0].getName(), "IntelSignal64");
394  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
395  EXPECT_EQ(msg[0].getStartbit(), 0);
396  EXPECT_EQ(msg[0].getLength(), 64);
397  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
398  EXPECT_EQ(msg[0].getSign(), SIGNED);
399  EXPECT_EQ(msg[0].getFactor(), 1);
400  EXPECT_EQ(msg[0].getOffset(), 0);
401  EXPECT_EQ(msg[0].getMinimum(), 0);
402  EXPECT_EQ(msg[0].getMaximum(), 0);
403  EXPECT_EQ(msg[0].getUnit(), "");
404 
405  // IntelTestB
406  msg = dbc[11];
407  EXPECT_EQ(msg.getId(), 178u);
408  EXPECT_EQ(msg.getName(), "IntelTestB");
409  EXPECT_EQ(msg.getDlc(), 8u);
410  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
411 
412  EXPECT_EQ(msg[0].getName(), "IntelSignalU32");
413  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
414  EXPECT_EQ(msg[0].getStartbit(), 32);
415  EXPECT_EQ(msg[0].getLength(), 32);
416  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
417  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
418  EXPECT_EQ(msg[0].getFactor(), 1);
419  EXPECT_EQ(msg[0].getOffset(), 0);
420  EXPECT_EQ(msg[0].getMinimum(), 0);
421  EXPECT_EQ(msg[0].getMaximum(), 0);
422  EXPECT_EQ(msg[0].getUnit(), "");
423 
424  EXPECT_EQ(msg[1].getName(), "IntelSignal32");
425  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
426  EXPECT_EQ(msg[1].getStartbit(), 0);
427  EXPECT_EQ(msg[1].getLength(), 32);
428  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
429  EXPECT_EQ(msg[1].getSign(), SIGNED);
430  EXPECT_EQ(msg[1].getFactor(), 1);
431  EXPECT_EQ(msg[1].getOffset(), 0);
432  EXPECT_EQ(msg[1].getMinimum(), 0);
433  EXPECT_EQ(msg[1].getMaximum(), 0);
434  EXPECT_EQ(msg[1].getUnit(), "");
435 
436  // IntelTestA
437  msg = dbc[12];
438  EXPECT_EQ(msg.getId(), 177u);
439  EXPECT_EQ(msg.getName(), "IntelTestA");
440  EXPECT_EQ(msg.getDlc(), 6u);
441  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
442 
443  EXPECT_EQ(msg[0].getName(), "IntelSignalU16");
444  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
445  EXPECT_EQ(msg[0].getStartbit(), 32);
446  EXPECT_EQ(msg[0].getLength(), 16);
447  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
448  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
449  EXPECT_EQ(msg[0].getFactor(), 1);
450  EXPECT_EQ(msg[0].getOffset(), 0);
451  EXPECT_EQ(msg[0].getMinimum(), 0);
452  EXPECT_EQ(msg[0].getMaximum(), 0);
453  EXPECT_EQ(msg[0].getUnit(), "");
454 
455  EXPECT_EQ(msg[1].getName(), "IntelSignal16");
456  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
457  EXPECT_EQ(msg[1].getStartbit(), 16);
458  EXPECT_EQ(msg[1].getLength(), 16);
459  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
460  EXPECT_EQ(msg[1].getSign(), SIGNED);
461  EXPECT_EQ(msg[1].getFactor(), 1);
462  EXPECT_EQ(msg[1].getOffset(), 0);
463  EXPECT_EQ(msg[1].getMinimum(), 0);
464  EXPECT_EQ(msg[1].getMaximum(), 0);
465  EXPECT_EQ(msg[1].getUnit(), "");
466 
467  EXPECT_EQ(msg[2].getName(), "IntelSignalU8");
468  EXPECT_EQ(msg[2].getMultiplexor(), NONE);
469  EXPECT_EQ(msg[2].getStartbit(), 8);
470  EXPECT_EQ(msg[2].getLength(), 8);
471  EXPECT_EQ(msg[2].getByteOrder(), INTEL);
472  EXPECT_EQ(msg[2].getSign(), UNSIGNED);
473  EXPECT_EQ(msg[2].getFactor(), 1);
474  EXPECT_EQ(msg[2].getOffset(), 0);
475  EXPECT_EQ(msg[2].getMinimum(), 0);
476  EXPECT_EQ(msg[2].getMaximum(), 0);
477  EXPECT_EQ(msg[2].getUnit(), "");
478 
479  EXPECT_EQ(msg[3].getName(), "IntelSignal8");
480  EXPECT_EQ(msg[3].getMultiplexor(), NONE);
481  EXPECT_EQ(msg[3].getStartbit(), 0);
482  EXPECT_EQ(msg[3].getLength(), 8);
483  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
484  EXPECT_EQ(msg[3].getSign(), SIGNED);
485  EXPECT_EQ(msg[3].getFactor(), 1);
486  EXPECT_EQ(msg[3].getOffset(), 0);
487  EXPECT_EQ(msg[3].getMinimum(), 0);
488  EXPECT_EQ(msg[3].getMaximum(), 0);
489  EXPECT_EQ(msg[3].getUnit(), "");
490 
491  // BasicTest
492  msg = dbc[13];
493  EXPECT_EQ(msg.getId(), 161u);
494  EXPECT_EQ(msg.getName(), "BasicTest");
495  EXPECT_EQ(msg.getDlc(), 4u);
496  EXPECT_EQ(msg.getFrom(), "Vector__XXX");
497 
498  EXPECT_EQ(msg[0].getName(), "BasicSignal4");
499  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
500  EXPECT_EQ(msg[0].getStartbit(), 24);
501  EXPECT_EQ(msg[0].getLength(), 1);
502  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
503  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
504  EXPECT_EQ(msg[0].getFactor(), 1);
505  EXPECT_EQ(msg[0].getOffset(), 0);
506  EXPECT_EQ(msg[0].getMinimum(), 0);
507  EXPECT_EQ(msg[0].getMaximum(), 0);
508  EXPECT_EQ(msg[0].getUnit(), "");
509 
510  EXPECT_EQ(msg[1].getName(), "BasicSignal3");
511  EXPECT_EQ(msg[1].getMultiplexor(), NONE);
512  EXPECT_EQ(msg[1].getStartbit(), 16);
513  EXPECT_EQ(msg[1].getLength(), 7);
514  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
515  EXPECT_EQ(msg[1].getSign(), SIGNED);
516  EXPECT_EQ(msg[1].getFactor(), 1);
517  EXPECT_EQ(msg[1].getOffset(), 18);
518  EXPECT_EQ(msg[1].getMinimum(), 0);
519  EXPECT_EQ(msg[1].getMaximum(), 0);
520  EXPECT_EQ(msg[1].getUnit(), "");
521 
522  EXPECT_EQ(msg[2].getName(), "BasicSignal2");
523  EXPECT_EQ(msg[2].getMultiplexor(), NONE);
524  EXPECT_EQ(msg[2].getStartbit(), 8);
525  EXPECT_EQ(msg[2].getLength(), 7);
526  EXPECT_EQ(msg[2].getByteOrder(), INTEL);
527  EXPECT_EQ(msg[2].getSign(), SIGNED);
528  EXPECT_EQ(msg[2].getFactor(), 1);
529  EXPECT_EQ(msg[2].getOffset(), 8);
530  EXPECT_EQ(msg[2].getMinimum(), 0);
531  EXPECT_EQ(msg[2].getMaximum(), 0);
532  EXPECT_EQ(msg[2].getUnit(), "");
533 
534  EXPECT_EQ(msg[3].getName(), "BasicSignal1");
535  EXPECT_EQ(msg[3].getMultiplexor(), NONE);
536  EXPECT_EQ(msg[3].getStartbit(), 0);
537  EXPECT_EQ(msg[3].getLength(), 8);
538  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
539  EXPECT_EQ(msg[3].getSign(), SIGNED);
540  EXPECT_EQ(msg[3].getFactor(), 1);
541  EXPECT_EQ(msg[3].getOffset(), 0);
542  EXPECT_EQ(msg[3].getMinimum(), 0);
543  EXPECT_EQ(msg[3].getMaximum(), 0);
544  EXPECT_EQ(msg[3].getUnit(), "");
545 }
546 
547 int main(int argc, char **argv)
548 {
549  testing::InitGoogleTest(&argc, argv);
550  return RUN_ALL_TESTS();
551 }
552 
int main(int argc, char **argv)
f
bool fileExists(const std::string &name)
std::string getName(void *handle)
TEST(ITERATOR, parsing)
ROSLIB_DECL std::string getPath(const std::string &package_name)
uint32_t getId() const
Definition: DbcMessage.hpp:71
std::size_t getDlc() const
Definition: DbcMessage.hpp:72
const std::string & getName() const
Definition: DbcMessage.hpp:70
const std::string & getFrom() const
Definition: DbcMessage.hpp:73


dataspeed_can_tools
Author(s): Micho Radovnikovich
autogenerated on Thu Jul 9 2020 03:41:59