Skip to content

Commit c1e25f2

Browse files
add tests to set fields for arrays and sequences
Signed-off-by: Mikael Arguedas <[email protected]>
1 parent c31f096 commit c1e25f2

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

rosidl_runtime_py/test/rosidl_runtime_py/test_set_message.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,39 @@ def test_set_message_fields_invalid():
9191
invalid_type['int32_value'] = 'this is not an integer'
9292
with pytest.raises(ValueError):
9393
set_message_fields(msg, invalid_type)
94+
95+
96+
def test_set_nested_namespaced_fields():
97+
unbounded_sequence_msg = message_fixtures.get_msg_unbounded_sequences()[1]
98+
test_values = {
99+
'basic_types_values': [
100+
{'float64_value': 42.42, 'int8_value': 42},
101+
{'float64_value': 11.11, 'int8_value': 11}
102+
]
103+
}
104+
set_message_fields(unbounded_sequence_msg, test_values)
105+
assert unbounded_sequence_msg.basic_types_values[0].float64_value == 42.42
106+
assert unbounded_sequence_msg.basic_types_values[0].int8_value == 42
107+
assert unbounded_sequence_msg.basic_types_values[0].uint8_value == 0
108+
assert unbounded_sequence_msg.basic_types_values[1].float64_value == 11.11
109+
assert unbounded_sequence_msg.basic_types_values[1].int8_value == 11
110+
assert unbounded_sequence_msg.basic_types_values[1].uint8_value == 0
111+
112+
arrays_msg = message_fixtures.get_msg_arrays()[0]
113+
test_values = {
114+
'basic_types_values': [
115+
{'float64_value': 42.42, 'int8_value': 42},
116+
{'float64_value': 11.11, 'int8_value': 11},
117+
{'float64_value': 22.22, 'int8_value': 22},
118+
]
119+
}
120+
set_message_fields(arrays_msg, test_values)
121+
assert arrays_msg.basic_types_values[0].float64_value == 42.42
122+
assert arrays_msg.basic_types_values[0].int8_value == 42
123+
assert arrays_msg.basic_types_values[0].uint8_value == 0
124+
assert arrays_msg.basic_types_values[1].float64_value == 11.11
125+
assert arrays_msg.basic_types_values[1].int8_value == 11
126+
assert arrays_msg.basic_types_values[1].uint8_value == 0
127+
assert arrays_msg.basic_types_values[2].float64_value == 22.22
128+
assert arrays_msg.basic_types_values[2].int8_value == 22
129+
assert arrays_msg.basic_types_values[2].uint8_value == 0

0 commit comments

Comments
 (0)