Beispiel #1
0
        public void Aggregate()
        {
            Assert.Throws <ArgumentNullException>(() => ImmutableArrayExtensions.Aggregate(oneElement, null));
            Assert.Throws <ArgumentNullException>(() => ImmutableArrayExtensions.Aggregate(oneElement, 1, null));
            Assert.Throws <ArgumentNullException>(() => ImmutableArrayExtensions.Aggregate <int, int, int>(oneElement, 1, null, null));
            Assert.Throws <ArgumentNullException>(() => ImmutableArrayExtensions.Aggregate <int, int, int>(oneElement, 1, (a, b) => a + b, null));

            Assert.Equal(Enumerable.Aggregate(manyElements, (a, b) => a * b), ImmutableArrayExtensions.Aggregate(manyElements, (a, b) => a * b));
            Assert.Equal(Enumerable.Aggregate(manyElements, 5, (a, b) => a * b), ImmutableArrayExtensions.Aggregate(manyElements, 5, (a, b) => a * b));
            Assert.Equal(Enumerable.Aggregate(manyElements, 5, (a, b) => a * b, a => - a), ImmutableArrayExtensions.Aggregate(manyElements, 5, (a, b) => a * b, a => - a));
        }
        public void Aggregate()
        {
            AssertExtensions.Throws <ArgumentNullException>("func", () => ImmutableArrayExtensions.Aggregate(s_oneElement, null));
            AssertExtensions.Throws <ArgumentNullException>("func", () => ImmutableArrayExtensions.Aggregate(s_oneElement, 1, null));
            AssertExtensions.Throws <ArgumentNullException>("resultSelector", () => ImmutableArrayExtensions.Aggregate <int, int, int>(s_oneElement, 1, null, null));
            AssertExtensions.Throws <ArgumentNullException>("resultSelector", () => ImmutableArrayExtensions.Aggregate <int, int, int>(s_oneElement, 1, (a, b) => a + b, null));

            Assert.Equal(Enumerable.Aggregate(s_manyElements, (a, b) => a * b), ImmutableArrayExtensions.Aggregate(s_manyElements, (a, b) => a * b));
            Assert.Equal(Enumerable.Aggregate(s_manyElements, 5, (a, b) => a * b), ImmutableArrayExtensions.Aggregate(s_manyElements, 5, (a, b) => a * b));
            Assert.Equal(Enumerable.Aggregate(s_manyElements, 5, (a, b) => a * b, a => - a), ImmutableArrayExtensions.Aggregate(s_manyElements, 5, (a, b) => a * b, a => - a));
        }
Beispiel #3
0
 public void AggregateEmpty()
 {
     Assert.Equal(0, ImmutableArrayExtensions.Aggregate(empty, (a, b) => a + b));
     Assert.Equal(1, ImmutableArrayExtensions.Aggregate(empty, 1, (a, b) => a + b));
     Assert.Equal(1, ImmutableArrayExtensions.Aggregate <int, int, int>(empty, 1, (a, b) => a + b, a => a));
 }
Beispiel #4
0
 public void AggregateEmptyDefault()
 {
     Assert.Throws <NullReferenceException>(() => ImmutableArrayExtensions.Aggregate(emptyDefault, (a, b) => a + b));
     Assert.Throws <NullReferenceException>(() => ImmutableArrayExtensions.Aggregate(emptyDefault, 1, (a, b) => a + b));
     Assert.Throws <NullReferenceException>(() => ImmutableArrayExtensions.Aggregate <int, int, int>(emptyDefault, 1, (a, b) => a + b, a => a));
 }