Example #1
0
        public void complete_does_not_equate_to_value()
        {
            var eventOwnerA = new EventOwner();

            var observableA = Observable.FromEvent <EventArgs>(x => eventOwnerA.Event += x, x => eventOwnerA.Event -= x);

            var stats = new StatsObserver <IEvent <EventArgs> >();

            observableA
            .SkipUntil(Observable.Empty <int>())
            .Subscribe(stats);

            eventOwnerA.Fire();
            eventOwnerA.Fire();
            eventOwnerA.Fire();

            Assert.AreEqual(0, stats.NextCount);
            Assert.IsFalse(stats.CompletedCalled);
        }
Example #2
0
        public void returns_values_after_other_emits_value()
        {
            var eventOwnerA = new EventOwner();
            var eventOwnerB = new EventOwner();

            var observableA = Observable.FromEvent <EventArgs>(x => eventOwnerA.Event += x, x => eventOwnerA.Event -= x);
            var observableB = Observable.FromEvent <EventArgs>(x => eventOwnerB.Event += x, x => eventOwnerB.Event -= x);

            var stats = new StatsObserver <IEvent <EventArgs> >();

            observableA.SkipUntil(observableA)
            .Subscribe(stats);

            eventOwnerA.Fire();
            eventOwnerA.Fire();
            eventOwnerA.Fire();
            eventOwnerB.Fire();
            eventOwnerA.Fire();

            Assert.AreEqual(3, stats.NextCount);
        }
Example #3
0
        public void other_sources_are_unsubscribed_when_value_is_received()
        {
            var sourceA = new EventOwner();
            var sourceB = new EventOwner();
            var sourceC = new EventOwner();

            var obs = Observable.Amb(
                sourceA.GetObservableEvent(),
                sourceB.GetObservableEvent(),
                sourceC.GetObservableEvent()
                );

            var stats = new StatsObserver <IEvent <EventArgs> >();

            obs.Subscribe(stats);

            sourceB.Fire();

            Assert.IsFalse(sourceA.HasSubscriptions);
            Assert.IsTrue(sourceB.HasSubscriptions);
            Assert.IsFalse(sourceC.HasSubscriptions);
        }
Example #4
0
        public void exceptions_thrown_from_onnext_are_not_converted_to_onerror_calls()
        {
            var sub = obs.Subscribe(x => { throw new Exception(); }, ex => { });

            ev.Fire();
        }