Exemplo n.º 1
0
        public void DoesNotForwardDisconnectFromSourceToSink()
        {
            var source = _session.WithMockSource();
            var sink = _session.WithMockSink();

            var disconnectEvent = new DisconnectEventArgs("originIdentifier");

            // Raise a disconnectEvent from source
            source.Raise(responseConsumer => responseConsumer.RaiseUserEvent += null, disconnectEvent);

            // Verify that the handler on sink was never called.
            sink.Verify(lineConsumer => lineConsumer.HandleUserEvent(_session, disconnectEvent), Times.Never());
        }
Exemplo n.º 2
0
        public void DetachesFromSourceAfterDisconnect()
        {
            var source = _session.WithMockSource();
            var sink = _session.WithMockSink();

            var lineEvent = new LineReadyEventArgs("Line", "originIdentifier", null);
            var disconnectEvent = new DisconnectEventArgs("originIdentifier");

            // Raise a lineEvent from source
            source.Raise(responseConsumer => responseConsumer.RaiseUserEvent += null, lineEvent);

            // Verify that the handler on sink was called exactly once.
            sink.Verify(lineConsumer => lineConsumer.HandleUserEvent(_session, lineEvent), Times.Once());

            // Raise a disconnectEvent from source
            source.Raise(responseConsumer => responseConsumer.RaiseUserEvent += null, disconnectEvent);

            // Raise a lineEvent from source
            source.Raise(responseConsumer => responseConsumer.RaiseUserEvent += null, lineEvent);

            // Verify that the handler on sink was called exactly once, and not a second time.
            sink.Verify(lineConsumer => lineConsumer.HandleUserEvent(_session, lineEvent), Times.Once());
        }