5 #include <gtest/gtest.h> 9 TEST(CanFrame, FrameProperties)
24 TEST(CanFrame, Arbitration)
36 ASSERT_TRUE(a.priorityLowerThan(b));
37 ASSERT_TRUE(b.priorityHigherThan(a));
39 a.id = 123 | CanFrame::FlagEFF;
40 b.id = 122 | CanFrame::FlagEFF;
41 ASSERT_TRUE(a.priorityLowerThan(b));
42 ASSERT_TRUE(b.priorityHigherThan(a));
46 ASSERT_FALSE(a.priorityLowerThan(b));
47 ASSERT_FALSE(b.priorityHigherThan(a));
53 b.id = 2000 | CanFrame::FlagEFF;
54 ASSERT_TRUE(a.priorityLowerThan(b));
55 ASSERT_TRUE(b.priorityHigherThan(a));
58 b.id = 0x10000000 | CanFrame::FlagEFF;
59 ASSERT_TRUE(a.priorityHigherThan(b));
60 ASSERT_TRUE(b.priorityLowerThan(a));
65 a.id = 123 | CanFrame::FlagRTR;
67 ASSERT_TRUE(a.priorityLowerThan(b));
68 ASSERT_TRUE(b.priorityHigherThan(a));
70 a.id = CanFrame::MaskStdID | CanFrame::FlagRTR;
71 b.id = CanFrame::MaskExtID | CanFrame::FlagEFF;
72 ASSERT_TRUE(a.priorityHigherThan(b));
73 ASSERT_TRUE(b.priorityLowerThan(a));
75 a.id = 123 | CanFrame::FlagRTR;
76 b.id = 122 | CanFrame::FlagRTR;
77 ASSERT_TRUE(a.priorityLowerThan(b));
78 ASSERT_TRUE(b.priorityHigherThan(a));
84 EXPECT_EQ(
"0x0000007b 01 02 03 04 31 32 33 34 '....1234'", frame.toString());
85 EXPECT_TRUE(frame.toString() == frame.toString(uavcan::CanFrame::StrAligned));
88 EXPECT_EQ(
"0x0000007b 7a 'z'", frame.toString(uavcan::CanFrame::StrAligned));
89 EXPECT_EQ(
"0x0000007b 7a 'z'", frame.toString());
91 EXPECT_EQ(
" 0x141 61 62 63 64 aa bb cc dd 'abcd....'",
94 EXPECT_EQ(
" 0x100 ''",
100 EXPECT_EQ(
"0x141 61 62 63 64 aa bb cc dd 'abcd....'",
uint32_t id
CAN ID with flags (above)
bool isRemoteTransmissionRequest() const
static std::string toString(long x)
static const uint32_t FlagRTR
Remote transmission request.
static const uint32_t FlagERR
Error frame.
bool isErrorFrame() const
TEST(CanFrame, FrameProperties)
uavcan::CanFrame makeCanFrame(uint32_t id, const std::string &str_data, FrameType type)