Ejemplo n.º 1
0
        private static async Task GenericTestMethodAsync(MessageRecognizer testObject, Encoding testEncoding, string sendMessage, string expectedMessage)
        {
            // Prepare test
            var generatedMessage       = "";
            var fakedByteStreamHandler = A.Fake <IByteStreamHandler>();

            A.CallTo(fakedByteStreamHandler)
            .WithReturnType <Task <bool> >()
            .Where(info => info.Method.Name == nameof(IByteStreamHandler.SendAsync))
            .Invokes(args =>
            {
                var bytesToSend = (ArraySegment <byte>)args.Arguments[0] !;
                if (bytesToSend.Array == null)
                {
                    return;
                }

                generatedMessage = testEncoding.GetString(
                    bytesToSend.Array,
                    bytesToSend.Offset,
                    bytesToSend.Count);
            })
            .Returns(Task.FromResult(true));
            testObject.ByteStreamHandler = fakedByteStreamHandler;

            // Call test method
            var sendResult = await SendInternalAsync(testObject, sendMessage);

            // Check results
            Assert.IsTrue(sendResult, "Send returned false");
            Assert.IsTrue(generatedMessage == expectedMessage, "Wrong message formatting");
        }
Ejemplo n.º 2
0
 private static Task <bool> SendInternalAsync(MessageRecognizer testObject, string sendMessage)
 {
     return(testObject.SendAsync(sendMessage.AsSpan()));
 }