예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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))
예제 #4
0
 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)