File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed
Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -146,7 +146,7 @@ def encode(self):
146146 packet += self .message .encode ()
147147 elif isinstance (self .message , bytes ):
148148 packet += self .message
149- elif isinstance (self .message , list ):
149+ elif isinstance (self .message , ( list , tuple ) ):
150150 for piece in self .message :
151151 packet += struct .pack (">H" , piece )
152152 elif isinstance (self .message , int ):
Original file line number Diff line number Diff line change @@ -119,12 +119,23 @@ class TestDataStore:
119119 (GetClearModbusPlusResponse , b"\x00 \x15 \x00 \x04 " + b"\x00 \x00 " * 55 ),
120120 ]
121121
122+ def test_diagnostic_encode_decode (self ):
123+ """Testing diagnostic request/response can be decoded and encoded."""
124+ for msg in (DiagnosticStatusRequest , DiagnosticStatusResponse ):
125+ msg_obj = msg ()
126+ data = b"\x00 \x01 \x02 \x03 "
127+ msg_obj .decode (data )
128+ result = msg_obj .encode ()
129+ assert data == result
130+
122131 def test_diagnostic_requests_decode (self ):
123132 """Testing diagnostic request messages encoding"""
124133 for msg , enc , _ in self .requests :
125134 handle = DiagnosticStatusRequest ()
126135 handle .decode (enc )
127136 assert handle .sub_function_code == msg .sub_function_code
137+ encoded = handle .encode ()
138+ assert enc == encoded
128139
129140 def test_diagnostic_simple_requests (self ):
130141 """Testing diagnostic request messages encoding"""
You can’t perform that action at this time.
0 commit comments