diff --git a/rflx/pyrflx/typevalue.py b/rflx/pyrflx/typevalue.py index 7ae2c9139..86d51dcd0 100644 --- a/rflx/pyrflx/typevalue.py +++ b/rflx/pyrflx/typevalue.py @@ -642,7 +642,7 @@ def _get_first(self, fld: str) -> Optional[Number]: length = self._fields[prv].typeval.size assert isinstance(first, Number) assert isinstance(length, Number) - return Number(first.value + length.value) + return first + length if prv and UNDEFINED not in (self._fields[prv].first, self._fields[prv].typeval.size): first = self.__simplified(Add(self._fields[prv].first, self._fields[prv].typeval.size)) return first if isinstance(first, Number) else None diff --git a/tests/test_pyrflx.py b/tests/test_pyrflx.py index 4f1627fa2..79a8af937 100644 --- a/tests/test_pyrflx.py +++ b/tests/test_pyrflx.py @@ -1595,7 +1595,7 @@ def test_no_verification_icmp(icmp: MessageValue) -> None: icmp_unv.set("Identifier", 5) icmp_unv.set("Sequence_Number", 1) icmp_unv.set("Data", b"\x00") - assert icmp.bytestring == icmp_unv.bytestring + assert icmp_unv.bytestring == icmp.bytestring def test_no_verification_ethernet(frame: MessageValue) -> None: @@ -1619,7 +1619,7 @@ def test_no_verification_ethernet(frame: MessageValue) -> None: frame_unv.set("Type_Length", int("0800", 16)) frame_unv.set("Payload", payload) assert frame_unv.valid_message - assert frame.bytestring == frame_unv.bytestring + assert frame_unv.bytestring == frame.bytestring def test_no_verification_array_nested_messages( @@ -1645,7 +1645,7 @@ def test_no_verification_array_nested_messages( array_message_unv.set("Length", 2) array_message_unv.set("Bar", foos_unv) assert array_message_unv.valid_message - assert array_message.bytestring == array_message_unv.bytestring + assert array_message_unv.bytestring == array_message.bytestring array_message_unv = array_message_package_unv["Message"] array_message_unv.parse(b"\x02\x05\x06")