public void AsyncReactiveObservableBase_Subscribe() { var s = new MyAsyncReactiveObservable <int>(); var iv2 = default(IAsyncReactiveObserver <int>); var uri2 = default(Uri); var state2 = default(object); s.SubscribeAsyncImpl = (o, u, x, token) => { iv2 = o; uri2 = u; state2 = x; return(Task.FromResult <IAsyncReactiveSubscription>(null)); }; var iv = new MyObserver <int>(); var uri = new Uri("foo://bar"); var state = "qux"; _ = s.SubscribeAsync(iv, uri, state).Result; Assert.AreSame(iv, iv2); Assert.AreSame(uri, uri2); Assert.AreSame(state, state2); }
public void AsyncReactiveObservableBase_Subscribe_ArgumentChecking() { var s = new MyAsyncReactiveObservable <int>(); var iv = new MyObserver <int>(); var uri = new Uri("foo://bar"); var state = "qux"; Assert.ThrowsException <ArgumentNullException>(() => s.SubscribeAsync(null, uri, state).Wait()); Assert.ThrowsException <ArgumentNullException>(() => s.SubscribeAsync(iv, null, state).Wait()); }