def test_input_with_crc(self): """ Test encoding with crc. """ spec = MasterCommandSpec("TE", [Field.byte("one"), Field.byte("two"), Field.crc()], []) spec_input = spec.create_input(1, {"one": 255, "two": 128}) self.assertEquals(13, len(spec_input)) self.assertEquals("STRTE\x01\xff\x80C\x01\x7f\r\n", spec_input)
def test_create_input(self): """ Test for MasterCommandSpec.create_input """ basic_action = MasterCommandSpec("BA", [Field.byte("actionType"), Field.byte("actionNumber"), Field.padding(11)], []) ba_input = basic_action.create_input(1, {"actionType": 2, "actionNumber": 4}) self.assertEquals(21, len(ba_input)) self.assertEquals("STRBA\x01\x02\x04" + ("\x00" * 11) + "\r\n", ba_input)
def test_decode_byte_field(self): """ Test for Field.byte.decode """ self.assertEquals(0, Field.byte("test").decode('\x00')) self.assertEquals(1, Field.byte("test").decode('\x01')) self.assertEquals(255, Field.byte("test").decode('\xFF')) try: Field.byte("test").decode("ab") self.assertTrue(False) except ValueError: pass
def test_encode_byte_field(self): """ Test for Field.byte.encode """ self.assertEquals('\x00', Field.byte("test").encode(0)) self.assertEquals('\x01', Field.byte("test").encode(1)) self.assertEquals('\xFF', Field.byte("test").encode(255)) try: Field.byte("test").encode(-1) self.assertTrue(False) except ValueError: pass try: Field.byte("test").encode(1024) self.assertTrue(False) except ValueError: pass