示例#1
0
        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")));
        }