class TestHex(unittest.TestCase):
    def setUp(self):
        self.convert = ConvertHex(source, action)

    def test_pack_result1(self):
        res = True
        msg = "message"
        value = 1234567
        wait_result = [value, 'read', [res, msg]]
        result = list(self.convert._pack_result(res, msg, value))
        self.assertEqual(wait_result, result)

    def test_pack_result2(self):
        res = True
        msg = "message"
        wait_result = [source, 'read', [res, msg]]
        result = list(self.convert._pack_result(res, msg))
        self.assertEqual(wait_result, result)

    ''' Read tests '''
    def test_bytes_to_value_1(self):
        source = 'gRSUAA=='
        wait_result = self.convert._pack_result(True, 'Data OK', '0x81 0x14 '
                                                '0x94 0x00 ')
        result = self.convert._bytes_to_value(source)
        self.assertEqual(result, wait_result)

    def test_bytes_to_value_2(self):
        source = 'Rq1wertyu'
        wait_result = self.convert._pack_result(False, 'Incorrect argument')
        result = self.convert._bytes_to_value(source)
        self.assertEqual(result, wait_result)

    ''' Write tests '''
    def test_value_to_bytes_1(self):
        source = '0x16 0x78'
        wait_result = self.convert._pack_result(True, 'Data OK', 'Fng=')
        result = self.convert._value_to_bytes(source)
        self.assertEqual(result, wait_result)

    def test_value_to_bytes_2(self):
        source = '1122334455'
        wait_result = self.convert._pack_result(True, 'Data OK', 'ESIzRFU=')
        result = self.convert._value_to_bytes(source)
        self.assertEqual(result, wait_result)
 def setUp(self):
     self.convert = ConvertHex(source, action)