public void Do_ArgumentChecking() { #pragma warning disable IDE0034 // Simplify 'default' expression (illustrative of method signature) ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(default(ISubscribable <int>), DummyObserver <int> .Instance)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, default(IObserver <int>))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(default(ISubscribable <int>), _ => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, default(Action <int>))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(default(ISubscribable <int>), _ => { }, () => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, default(Action <int>), () => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, _ => { }, default(Action))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(default(ISubscribable <int>), _ => { }, _ => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, default(Action <int>), _ => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, _ => { }, default(Action <Exception>))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(default(ISubscribable <int>), _ => { }, _ => { }, () => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, default(Action <int>), _ => { }, () => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, _ => { }, default(Action <Exception>), () => { })); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int>(DummySubscribable <int> .Instance, _ => { }, _ => { }, default(Action))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int, int>(default(ISubscribable <int>), x => x, DummyObserver <int> .Instance)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int, int>(DummySubscribable <int> .Instance, default(Func <int, int>), DummyObserver <int> .Instance)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Do <int, int>(DummySubscribable <int> .Instance, x => x, default(IObserver <int>))); #pragma warning restore IDE0034 // Simplify 'default' expression }