Skip to content

Commit d6b7c59

Browse files
committed
test: split Q10 archive decoder cases
1 parent 9b5e77d commit d6b7c59

1 file changed

Lines changed: 16 additions & 18 deletions

File tree

‎tests/protocols/test_b01_q10_protocol.py‎

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -139,25 +139,23 @@ def test_decode_message_map_packet() -> None:
139139
assert {room.id: room.name for room in decoded.rooms} == {2: "Living Room", 3: "Bedroom"}
140140

141141

142-
@pytest.mark.parametrize(
143-
("marker", "kind"),
144-
[
145-
(b"\x03\x01", Q10MapPacketKind.CLEAN_RECORD_DETAIL),
146-
(b"\x04\x01", Q10MapPacketKind.SAVED_MAP_DETAIL),
147-
],
148-
)
149-
def test_decode_message_archived_map_packet(marker: bytes, kind: Q10MapPacketKind) -> None:
150-
"""The decoder recognizes both archived map-detail markers."""
142+
def test_decode_message_clean_record_detail() -> None:
143+
"""The clean-record marker decodes into a composed map and optional trace."""
144+
fixture = MAP_FIXTURE.read_bytes()
145+
decoded = decode_message(_message(b"\x03\x01" + fixture[2:], RoborockMessageProtocol.MAP_RESPONSE))
146+
147+
assert isinstance(decoded, Q10CleanRecordDetail)
148+
assert decoded.map.kind is Q10MapPacketKind.CLEAN_RECORD_DETAIL
149+
assert decoded.trace is None
150+
151+
152+
def test_decode_message_saved_map_detail() -> None:
153+
"""The saved-map marker decodes into a map packet."""
151154
fixture = MAP_FIXTURE.read_bytes()
152-
decoded = decode_message(_message(marker + fixture[2:], RoborockMessageProtocol.MAP_RESPONSE))
153-
154-
if kind is Q10MapPacketKind.CLEAN_RECORD_DETAIL:
155-
assert isinstance(decoded, Q10CleanRecordDetail)
156-
assert decoded.map.kind is kind
157-
assert decoded.trace is None
158-
else:
159-
assert isinstance(decoded, Q10MapPacket)
160-
assert decoded.kind is kind
155+
decoded = decode_message(_message(b"\x04\x01" + fixture[2:], RoborockMessageProtocol.MAP_RESPONSE))
156+
157+
assert isinstance(decoded, Q10MapPacket)
158+
assert decoded.kind is Q10MapPacketKind.SAVED_MAP_DETAIL
161159

162160

163161
def test_decode_message_trace_packet() -> None:

0 commit comments

Comments
 (0)