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); }
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); }
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); }
public void exceptions_thrown_from_onnext_are_not_converted_to_onerror_calls() { var sub = obs.Subscribe(x => { throw new Exception(); }, ex => { }); ev.Fire(); }