Ejemplo n.º 1
0
        public void ShouldSubscribeOnStart()
        {
            IMessageSource <TestMessage> source = A.Fake <IMessageSource <TestMessage> >();
            IMessageBridge bridge = new MessageBridge <TestMessage, TestMessage>(A.Fake <IMessagePublisher <TestMessage> >(), A.Fake <IMessageConverter <TestMessage, TestMessage> >(), source);

            bridge.Start();

            A.CallTo(() => source.Messages.Subscribe(A <IObserver <TestMessage> > .Ignored)).MustHaveHappenedOnceExactly();
        }
Ejemplo n.º 2
0
        public void ShouldSubscribeOnStart()
        {
            IMessageSource<TestMessage> source = A.Fake<IMessageSource<TestMessage>>();
            IMessageBridge bridge = new MessageBridge<TestMessage, TestMessage>(A.Fake<IMessagePublisher<TestMessage>>(), A.Fake<IMessageConverter<TestMessage, TestMessage>>(), source);

            bridge.Start();

            A.CallTo(() => source.Messages.Subscribe(A<IObserver<TestMessage>>.Ignored)).MustHaveHappened(Repeated.Exactly.Once);
        }
Ejemplo n.º 3
0
        public void ShouldUnsubscribeOnStop()
        {
            IMessageSource <TestMessage> source = A.Fake <IMessageSource <TestMessage> >();
            IMessageBridge bridge       = new MessageBridge <TestMessage, TestMessage>(A.Fake <IMessagePublisher <TestMessage> >(), A.Fake <IMessageConverter <TestMessage, TestMessage> >(), source);
            IDisposable    subscription = A.Fake <IDisposable>();

            A.CallTo(() => source.Messages.Subscribe(A <IObserver <TestMessage> > .Ignored)).Returns(subscription);

            bridge.Start();
            bridge.Stop();

            A.CallTo(() => subscription.Dispose()).MustHaveHappenedOnceExactly();
        }
Ejemplo n.º 4
0
        public void ShouldUnsubscribeOnStop()
        {
            IMessageSource<TestMessage> source = A.Fake<IMessageSource<TestMessage>>();
            IMessageBridge bridge = new MessageBridge<TestMessage, TestMessage>(A.Fake<IMessagePublisher<TestMessage>>(), A.Fake<IMessageConverter<TestMessage, TestMessage>>(), source);
            IDisposable subscription = A.Fake<IDisposable>();

            A.CallTo(() => source.Messages.Subscribe(A<IObserver<TestMessage>>.Ignored)).Returns(subscription);

            bridge.Start();
            bridge.Stop();

            A.CallTo(() => subscription.Dispose()).MustHaveHappened(Repeated.Exactly.Once);
        }
Ejemplo n.º 5
0
        public void ShouldPublishTeamNewsWhenReceived()
        {
            IMessagePublisher <TestMessage> publisher = A.Fake <IMessagePublisher <TestMessage> >();
            IMessageSource <TestMessage>    source    = A.Fake <IMessageSource <TestMessage> >();
            IDisposable             subscription      = A.Fake <IDisposable>();
            IObserver <TestMessage> observer          = null;
            TestMessage             objFrom           = new TestMessage();
            TestMessage             objTo             = new TestMessage();
            IMessageConverter <TestMessage, TestMessage> converter = A.Fake <IMessageConverter <TestMessage, TestMessage> >();
            IMessageBridge bridge = new MessageBridge <TestMessage, TestMessage>(publisher, converter, source);

            A.CallTo(() => converter.Convert(objFrom)).Returns(objTo);
            A.CallTo(() => source.Messages.Subscribe(A <IObserver <TestMessage> > .Ignored)).Returns(subscription);
            A.CallTo(() => source.Messages.Subscribe(A <IObserver <TestMessage> > .Ignored)).Invokes(call => observer = call.GetArgument <IObserver <TestMessage> >(0));

            bridge.Start();
            observer.OnNext(objFrom);

            A.CallTo(() => publisher.PublishAsync(objTo)).MustHaveHappenedOnceExactly();
        }
Ejemplo n.º 6
0
        public void ShouldPublishTeamNewsWhenReceived()
        {
            IMessagePublisher<TestMessage> publisher = A.Fake<IMessagePublisher<TestMessage>>();
            IMessageSource<TestMessage> source = A.Fake<IMessageSource<TestMessage>>();
            IDisposable subscription = A.Fake<IDisposable>();
            IObserver<TestMessage> observer = null;
            TestMessage objFrom = new TestMessage();
            TestMessage objTo = new TestMessage();
            IMessageConverter<TestMessage, TestMessage> converter = A.Fake<IMessageConverter<TestMessage, TestMessage>>();
            IMessageBridge bridge = new MessageBridge<TestMessage, TestMessage>(publisher, converter, source);

            A.CallTo(() => converter.Convert(objFrom)).Returns(objTo);
            A.CallTo(() => source.Messages.Subscribe(A<IObserver<TestMessage>>.Ignored)).Returns(subscription);
            A.CallTo(() => source.Messages.Subscribe(A<IObserver<TestMessage>>.Ignored)).Invokes(call => observer = call.GetArgument<IObserver<TestMessage>>(0));

            bridge.Start();
            observer.OnNext(objFrom);

            A.CallTo(() => publisher.PublishAsync(objTo)).MustHaveHappened(Repeated.Exactly.Once);
        }