public void Aggregate() { Nullable <int> n = 2; Nullable <int> n0 = null; Assert.Throws <ArgumentNullException>(() => NullableExtensions.Aggregate <int, int>(n, 2, null)); Assert.Equal(3, n.Aggregate(1, (sum, i) => sum + i)); Assert.Equal(1, n0.Aggregate(1, (sum, i) => sum + i)); // not called Assert.Equal(1, n0.Aggregate(1, (_, __) => throw new InvalidOperationException("Shpuld not be called"))); }