Beispiel #1
0
        public void AsyncBroacaster_Disposed_Does_Not_Fire_OnNext()
        {
            var b = new AsyncBroadcaster <int>();

            int result = -1;

            var sub = b.Subscribe(x => { result = x; });

            Assert.NotNull(sub);

            b.Dispose();
            b.OnNext(2);

            Assert.NotEqual(2, result);
            Assert.Equal(-1, result);
        }
Beispiel #2
0
        public void AsyncBroacaster_OnNext()
        {
            var b          = new AsyncBroadcaster <int>();
            var resetEvent = new ManualResetEvent(false);

            int result = -1;

            var sub = b.Subscribe(x =>
            {
                result = x;
                resetEvent.Set();
            });

            Assert.NotNull(sub);

            b.OnNext(2);
            resetEvent.WaitOne();

            Assert.NotEqual(-1, result);
            Assert.Equal(2, result);
        }
Beispiel #3
0
        public void AsyncBroacaster_OnError_FromOnNext()
        {
            var b          = new AsyncBroadcaster <int>();
            var resetEvent = new ManualResetEvent(false);

            var       exception = new Exception("HAI");
            Exception result    = null;

            var sub = b.Subscribe(x => { throw exception; }, x =>
            {
                result = x;
                resetEvent.Set();
            });

            Assert.NotNull(sub);

            b.OnNext(1);
            resetEvent.WaitOne();

            Assert.NotNull(result);

            Assert.Equal(exception, result);
        }