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)); }
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)); }
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)); }