Skip to content

Commit

Permalink
Add Message'Size handling without verification
Browse files Browse the repository at this point in the history
ref #525
  • Loading branch information
jklmnn committed Jan 20, 2021
1 parent 19db6c9 commit d5166c7
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
7 changes: 5 additions & 2 deletions rflx/pyrflx/typevalue.py
Original file line number Diff line number Diff line change
Expand Up @@ -1110,10 +1110,13 @@ def __update_simplified_mapping(self, field: Optional[Field] = None) -> None:
if field:
if isinstance(field.typeval, ScalarValue):
self._simplified_mapping[field.name_variable] = field.typeval.expr
last = field.last
assert isinstance(last, Number)
self._simplified_mapping[field.name_size] = field.typeval.size
self._simplified_mapping[field.name_first] = field.first
self._simplified_mapping[field.name_last] = field.last
self._simplified_mapping[self.__message_last_name] = field.last
self._simplified_mapping[field.name_last] = last
self._simplified_mapping[self.__message_last_name] = last
self._simplified_mapping[self.__message_size_name] = last + Number(1)
return

self._simplified_mapping = {self.__message_first_name: Number(0)}
Expand Down
15 changes: 15 additions & 0 deletions tests/unit/pyrflx_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -1164,3 +1164,18 @@ def test_message_size(message_size: MessageValue) -> None:
assert message_size.valid_message
assert message_size.get("A") == 2
assert message_size.get("B") == b"\x01\x02"
message_size.set("A", 2)
message_size.set("B", b"\x01\x02")
assert message_size.valid_message


def test_message_size_unverified() -> None:
pyrflx_ = PyRFLX.from_specs(
[f"{SPEC_DIR}/message_size.rflx"],
skip_model_verification=True,
skip_message_verification=True,
)
message = pyrflx_["Message_Size"]["Msg"]
message.set("A", 2)
message.set("B", b"\x01\x02")
assert message.valid_message

0 comments on commit d5166c7

Please sign in to comment.