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)