Skip to content

Commit ad5a8b2

Browse files
committed
chore: add test
Signed-off-by: Russ Webber <[email protected]>
1 parent 9483332 commit ad5a8b2

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

test/rosidl_runtime_py/test_set_message.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414

1515
import builtins
1616
import copy
17+
import yaml
1718

1819
from builtin_interfaces.msg import Time
1920
import pytest
2021
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
2223
from std_msgs.msg import Header
2324
from test_msgs import message_fixtures
2425

@@ -140,6 +141,18 @@ def test_set_message_fields_partial():
140141
assert getattr(modified_msg, attr) == getattr(original_msg, attr)
141142

142143

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+
143156
def test_set_message_fields_full():
144157
msg_list = message_fixtures.get_msg_basic_types()
145158
msg0 = msg_list[0]

0 commit comments

Comments
 (0)