def testBitReadBaseResponseEncoding(self):
     ''' Test basic bit message encoding/decoding '''
     for i in range(20):
         input = [True] * i
         handle = ReadBitsResponseBase(input)
         result = handle.encode()
         handle.decode(result)
         self.assertEqual(handle.bits[:i], input)
 def testBitReadBaseResponseEncoding(self):
     ''' Test basic bit message encoding/decoding '''
     for i in range(20):
         input  = [True] * i
         handle = ReadBitsResponseBase(input)
         result = handle.encode()
         handle.decode(result)
         self.assertEqual(handle.bits[:i], input)
 def testBitReadBaseRequests(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 iteritems(messages):
         self.assertEqual(request.encode(), expected)
 def testReadBitBaseClassMethods(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 testBitReadBaseResponseHelperMethods(self):
     ''' Test the extra methods on a ReadBitsResponseBase '''
     input  = [False] * 8
     handle = ReadBitsResponseBase(input)
     for i in [1,3,5]: handle.setBit(i, True)
     for i in [1,3,5]: handle.resetBit(i)
     for i in range(8):
         self.assertEqual(handle.getBit(i), False)
 def testBitReadBaseResponseHelperMethods(self):
     ''' Test the extra methods on a ReadBitsResponseBase '''
     input  = [False] * 8
     handle = ReadBitsResponseBase(input)
     for i in [1,3,5]: handle.setBit(i, True)
     for i in [1,3,5]: handle.resetBit(i)
     for i in range(8):
         self.assertEqual(handle.getBit(i), False)