@@ -539,15 +539,24 @@ namespace testing
539
539
// / \param[in] _msg The message to compare.
540
540
void compareTestMsg (const ignition::msgs::Pose &_msg)
541
541
{
542
- compareTestMsg (_msg.header ());
543
-
544
- ignition::msgs::Pose expected_msg;
545
- createTestMsg (expected_msg);
546
- // child_frame_id
547
- EXPECT_EQ (expected_msg.header ().data (2 ).key (), _msg.header ().data (2 ).key ());
548
- EXPECT_EQ (1 , _msg.header ().data (2 ).value_size ());
549
- EXPECT_EQ (expected_msg.header ().data (2 ).value (0 ),
550
- _msg.header ().data (2 ).value (0 ));
542
+ if (_msg.header ().data_size () > 0 )
543
+ {
544
+ compareTestMsg (_msg.header ());
545
+
546
+ ignition::msgs::Pose expected_msg;
547
+ createTestMsg (expected_msg);
548
+
549
+ if (_msg.header ().data_size () > 2 )
550
+ {
551
+ // child_frame_id
552
+ ASSERT_EQ (3 , expected_msg.header ().data_size ());
553
+ ASSERT_EQ (3 , _msg.header ().data_size ());
554
+ EXPECT_EQ (expected_msg.header ().data (2 ).key (), _msg.header ().data (2 ).key ());
555
+ EXPECT_EQ (1 , _msg.header ().data (2 ).value_size ());
556
+ EXPECT_EQ (expected_msg.header ().data (2 ).value (0 ),
557
+ _msg.header ().data (2 ).value (0 ));
558
+ }
559
+ }
551
560
552
561
compareTestMsg (_msg.position ());
553
562
compareTestMsg (_msg.orientation ());
0 commit comments