File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change 14
14
15
15
import builtins
16
16
import copy
17
+ import yaml
17
18
18
19
from builtin_interfaces .msg import Time
19
20
import pytest
20
21
import rosidl_parser .definition
21
- from rosidl_runtime_py import set_message_fields
22
+ from rosidl_runtime_py import set_message_fields , message_to_yaml
22
23
from std_msgs .msg import Header
23
24
from test_msgs import message_fixtures
24
25
@@ -140,6 +141,18 @@ def test_set_message_fields_partial():
140
141
assert getattr (modified_msg , attr ) == getattr (original_msg , attr )
141
142
142
143
144
+ def test_set_message_fields_from_yaml ():
145
+ original_msg = message_fixtures .get_msg_basic_types ()[1 ]
146
+ original_yaml = message_to_yaml (original_msg )
147
+ values = yaml .safe_load (original_yaml )
148
+
149
+ modified_msg = copy .copy (message_fixtures .get_msg_basic_types ()[0 ])
150
+ set_message_fields (modified_msg , values )
151
+
152
+ for attr in original_msg .get_fields_and_field_types ().keys ():
153
+ assert getattr (modified_msg , attr ) == getattr (original_msg , attr )
154
+
155
+
143
156
def test_set_message_fields_full ():
144
157
msg_list = message_fixtures .get_msg_basic_types ()
145
158
msg0 = msg_list [0 ]
You can’t perform that action at this time.
0 commit comments