public IObservable<IEvent<EventArgs>> GetObservableEvent()
{
return Observable.FromEvent<EventArgs>(
x => Event += x,
x => Event -= x
);
}
public void all_sources_are_unsubscribed_when_complete_is_received() { var sourceA = new EventOwner(); var sourceC = new EventOwner(); var obs = Observable.Amb( sourceA.GetObservableEvent(), Observable.Empty<IEvent<EventArgs>>(), sourceC.GetObservableEvent() ); var stats = new StatsObserver<IEvent<EventArgs>>(); obs.Subscribe(stats); Assert.IsFalse(sourceA.HasSubscriptions); Assert.IsFalse(sourceC.HasSubscriptions); }