コード例 #1
0
        public MessageTransportTest()
        {
            var outputWriter = Substitute.For <TextWriter>();

            transporter = new MessageTransport(inputSource, outputWriter);
            transporter.Start();
        }
コード例 #2
0
        public async void PublishedEventSendsWrappedEventToTextWriter()
        {
            var outputSink   = new TaskCompletionSource <string>();
            var outputWriter = Substitute.For <TextWriter>();

            outputWriter.When(x => x.WriteLine(Arg.Any <string>())).Do(callInfo =>
                                                                       outputSink.SetResult(callInfo.Arg <string>()));

            using (var transporter = new MessageTransport(inputSource, outputWriter))
            {
                await transporter.PublishEventAsync(new JObject(new JProperty("foo", "bar")));

                string output = await outputSink.Task;

                Assert.Equal(@"{""content_type"":""Event"",""body"":{""foo"":""bar""}}", output);
            }
        }