public void Aggregate_ArgumentChecking() { #pragma warning disable IDE0034 // Simplify 'default' expression (illustrative of method signature) ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int>(default(ISubscribable <int>), (l, r) => l + r)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int>(DummySubscribable <int> .Instance, default(Func <int, int, int>))); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int, int>(default(ISubscribable <int>), 0, (l, r) => l + r)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int, int>(DummySubscribable <int> .Instance, 0, default(Func <int, int, int>))); var nullSeedAllowed = Subscribable.Aggregate <int, string>(DummySubscribable <int> .Instance, default(string), (s, x) => s + x); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int, int, int>(default(ISubscribable <int>), 0, (l, r) => l + r, x => x)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int, int, int>(DummySubscribable <int> .Instance, 0, default(Func <int, int, int>), x => x)); ReactiveAssert.Throws <ArgumentNullException>(() => Subscribable.Aggregate <int, int, int>(DummySubscribable <int> .Instance, 0, (l, r) => l + r, default(Func <int, int>))); #pragma warning restore IDE0034 // Simplify 'default' expression }