test_message.cpp
Go to the documentation of this file.
1 /*********************************************************************
2  * C++ unit test for dataspeed_can_tools/DbcMessage.hpp
3  *********************************************************************/
4 
5 #include <gtest/gtest.h>
6 
7 // String stream
8 #include <iostream>
9 #include <sstream>
10 #include <string>
11 
12 // File under test
13 #include "../src/DbcMessage.hpp"
14 
15 // Check that parsing valid signals does not cause an error.
16 TEST(MESSAGE, parsing)
17 {
18  Message msg;
19  std::istringstream in;
20 
21  std::string input = "BO_ 126 License: 8 EPAS\n";
22  input += " SG_ EXPIRED : 10|1@1+ (1,0) [0|0] \"\" MAB\n";
23  input += " SG_ MUX M : 0|8@1+ (1,0) [0|0] \"\" MAB\n";
24  input += " SG_ FEAT_BASE_TRIALS_USED m0 : 32|16@1+ (1,0) [0|0] \"\" MAB\n";
25  input += " SG_ DATE1 m129 : 24|8@1+ (1,0) [0|0] \"\" MAB";
26  in.str(input);
27  in >> msg;
28  ASSERT_FALSE(in.fail());
29  in.clear();
30 }
31 
32 // Check the values output by parsing valid signals.
33 TEST(MESSAGE, data)
34 {
35  Message msg;
36  std::istringstream in;
37 
38  std::string input = "BO_ 126 License: 8 EPAS\n";
39  input += " SG_ EXPIRED : 10|1@1+ (1,0) [0|0] \"\" MAB\n";
40  input += " SG_ MUX M : 0|8@1+ (1,0) [0|0] \"\" MAB\n";
41  input += " SG_ FEAT_BASE_TRIALS_USED m0 : 32|16@1+ (1,0) [0|0] \"\" MAB\n";
42  input += " SG_ DATE1 m129 : 24|8@1+ (1,0) [0|0] \"\" MAB";
43  in.str(input);
44  in >> msg;
45  ASSERT_FALSE(in.fail());
46  // Main
47  EXPECT_EQ(msg.getId(), 126u);
48  EXPECT_EQ(msg.getName(), "License");
49  EXPECT_EQ(msg.getDlc(), 8u);
50  EXPECT_EQ(msg.getFrom(), "EPAS");
51  // sig[0]
52  EXPECT_EQ(msg[0].getName(), "EXPIRED");
53  EXPECT_EQ(msg[0].getMultiplexor(), NONE);
54  //EXPECT_EQ(sig[0].getMultiplexedNumber(), 0);
55  EXPECT_EQ(msg[0].getStartbit(), 10);
56  EXPECT_EQ(msg[0].getLength(), 1);
57  EXPECT_EQ(msg[0].getByteOrder(), INTEL);
58  EXPECT_EQ(msg[0].getSign(), UNSIGNED);
59  EXPECT_EQ(msg[0].getFactor(), 1);
60  EXPECT_EQ(msg[0].getOffset(), 0);
61  EXPECT_EQ(msg[0].getMinimum(), 0);
62  EXPECT_EQ(msg[0].getMaximum(), 0);
63  EXPECT_EQ(msg[0].getUnit(), "");
64  // Receivers?
65  // sig[1]
66  EXPECT_EQ(msg[1].getName(), "MUX");
67  EXPECT_EQ(msg[1].getMultiplexor(), MULTIPLEXOR);
68  //EXPECT_EQ(msg[1].getMultiplexedNumber(), 0);
69  EXPECT_EQ(msg[1].getStartbit(), 0);
70  EXPECT_EQ(msg[1].getLength(), 8);
71  EXPECT_EQ(msg[1].getByteOrder(), INTEL);
72  EXPECT_EQ(msg[1].getSign(), UNSIGNED);
73  EXPECT_EQ(msg[1].getFactor(), 1);
74  EXPECT_EQ(msg[1].getOffset(), 0);
75  EXPECT_EQ(msg[1].getMinimum(), 0);
76  EXPECT_EQ(msg[1].getMaximum(), 0);
77  EXPECT_EQ(msg[1].getUnit(), "");
78  // Receivers?
79  // sig[2]
80  EXPECT_EQ(msg[2].getName(), "FEAT_BASE_TRIALS_USED");
81  EXPECT_EQ(msg[2].getMultiplexor(), MULTIPLEXED);
82  EXPECT_EQ(msg[2].getMultiplexedNumber(), 0);
83  EXPECT_EQ(msg[2].getStartbit(), 32);
84  EXPECT_EQ(msg[2].getLength(), 16);
85  EXPECT_EQ(msg[2].getByteOrder(), INTEL);
86  EXPECT_EQ(msg[2].getSign(), UNSIGNED);
87  EXPECT_EQ(msg[2].getFactor(), 1);
88  EXPECT_EQ(msg[2].getOffset(), 0);
89  EXPECT_EQ(msg[2].getMinimum(), 0);
90  EXPECT_EQ(msg[2].getMaximum(), 0);
91  EXPECT_EQ(msg[2].getUnit(), "");
92  // Receivers?
93  // sig[3]
94  EXPECT_EQ(msg[3].getName(), "DATE1");
95  EXPECT_EQ(msg[3].getMultiplexor(), MULTIPLEXED);
96  EXPECT_EQ(msg[3].getMultiplexedNumber(), 129);
97  EXPECT_EQ(msg[3].getStartbit(), 24);
98  EXPECT_EQ(msg[3].getLength(), 8);
99  EXPECT_EQ(msg[3].getByteOrder(), INTEL);
100  EXPECT_EQ(msg[3].getSign(), UNSIGNED);
101  EXPECT_EQ(msg[3].getFactor(), 1);
102  EXPECT_EQ(msg[3].getOffset(), 0);
103  EXPECT_EQ(msg[3].getMinimum(), 0);
104  EXPECT_EQ(msg[3].getMaximum(), 0);
105  EXPECT_EQ(msg[3].getUnit(), "");
106  // Receivers?
107 
108  in.clear();
109 }
110 
111 int main(int argc, char **argv)
112 {
113  testing::InitGoogleTest(&argc, argv);
114  return RUN_ALL_TESTS();
115 }
116 
int main(int argc, char **argv)
std::string getName(void *handle)
TEST(MESSAGE, parsing)


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