Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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
Esempio n. 4
0
    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