public void EndOfStreamShouldProduceEndOfStream() { using (var reader = new ReadableMock <IMessage>()) using (var pipeMock = new PipeableMock <IMessage>()) using (var worker = new Worker <int, int>(new MessageVisitorFactory(), Identity, SharedPipeMockFactory, false)) { worker.PipeFrom(reader); pipeMock.PipeFrom(worker); reader.Writer.Push(EndOfStreamMessage.Value); worker.Start(); pipeMock.Read(); pipeMock.Results[0].Should().BeOfType <EndOfStreamMessage>(); } }
public void InputMessagehouldProduceInputMessageIfNoIssue() { using (var reader = new ReadableMock <IMessage>()) using (var pipeMock = new PipeableMock <IMessage>()) using (var worker = new Worker <int, int>(new MessageVisitorFactory(), Identity, SharedPipeMockFactory, false)) { worker.PipeFrom(reader); pipeMock.PipeFrom(worker); reader.Writer.Push(new InputMessage <int>(3)); worker.Start(); pipeMock.Read(); pipeMock.Results[0].Should().BeOfType <InputMessage <int> >(); ((InputMessage <int>)pipeMock.Results[0]).Value.Should().Be(3); } }
public void ErrorMessagehouldProduceErrorMessage() { using (var reader = new ReadableMock <IMessage>()) using (var pipeMock = new PipeableMock <IMessage>()) using (var worker = new Worker <int, int>(new MessageVisitorFactory(), Identity, SharedPipeMockFactory, false)) { worker.PipeFrom(reader); pipeMock.PipeFrom(worker); reader.Writer.Push(new ErrorMessage <Exception>(new TestException())); worker.Start(); pipeMock.Read(); pipeMock.Results[0].Should().BeOfType <ErrorMessage <Exception> >(); ((ErrorMessage <Exception>)pipeMock.Results[0]).Error.Should().BeOfType <TestException>(); ((ErrorMessage <Exception>)pipeMock.Results[0]).Error.Message.Should().Be("test"); } }