def test_read_bit_base_response_encoding(self): """ Test basic bit message encoding/decoding """ for i in range(20): input_val = [True] * i handle = ReadBitsResponseBase(input_val) result = handle.encode() handle.decode(result) self.assertEqual(handle.bits[:i], input_val)
def test_bit_read_base_requests(self): """ Test bit read request encoding """ messages = { ReadBitsRequestBase(12, 14): b'\x00\x0c\x00\x0e', ReadBitsResponseBase([1, 0, 1, 1, 0]): b'\x01\x0d', } for request, expected in messages.items(): self.assertEqual(request.encode(), expected)
def test_read_bit_base_class_methods(self): """ Test basic bit message encoding/decoding """ handle = ReadBitsRequestBase(1, 1) msg = "ReadBitRequest(1,1)" self.assertEqual(msg, str(handle)) handle = ReadBitsResponseBase([1, 1]) msg = "ReadBitResponse(2)" self.assertEqual(msg, str(handle))
def test_read_bit_base_response_helper_methods(self): """ Test the extra methods on a ReadBitsResponseBase """ input_val = [False] * 8 handle = ReadBitsResponseBase(input_val) for i in [1, 3, 5]: handle.set_bit(i, True) for i in [1, 3, 5]: handle.reset_bit(i) for i in range(8): self.assertEqual(handle.get_bit(i), False)