public async Task ServiceModeResultsReqResponseDirectTestMethod()
        {
            const string expectedMessage = "Mode: Direct, CV: 1, Value: 6";
            byte[] responseMessageBytes = new byte[] { 0x63, 0x14, 0x01, 0x06, 0x70 };


            var reqStream = new MemoryStream();
            var respStream = new MemoryStream(responseMessageBytes);

            var msgReq = new ServiceModeResultsReqMessage();
            var response = msgReq.WriteAsync(reqStream, true);

            await PacketHandler.ReadPacketAsync(respStream);

            var result = string.Empty;
            var resp = response.Result as ServiceModeProgrammingResultsResp;
            if (resp != null)
            {
                var newResponse = resp;
                result = string.Format("Mode: {0}, CV: {1}, Value: {2}", newResponse.Mode, newResponse.RegisterOrCv, newResponse.Value);
            }

            Assert.AreEqual(expectedMessage, result);

        }
        public async Task ServiceModeResultsReqValidTestMethod()
        {
            var expectedMessageBytes = new byte[] { 0x21, 0x10, 0x31 };

            var testStream = new MemoryStream();
            var msgReq = new ServiceModeResultsReqMessage();
            await msgReq.WriteAsync(testStream);
            var actualMessageBytes = ReadStream(testStream);


            CollectionAssert.AreEqual(expectedMessageBytes, actualMessageBytes,
                string.Format("message not valid, expected {0}, received {1}",
                ByteArrayToString(expectedMessageBytes), ByteArrayToString(actualMessageBytes)));

        }