private static void Main() { var list = new List<int>(); list.Add(1); list.Add(2); list.Add(3); Console.WriteLine("Sum = {0} ", list.SumElements<int>()); Console.WriteLine("Product = {0} ", list.ProductElements<int>()); Console.WriteLine("Min = {0} ", list.MinElement<int>()); Console.WriteLine("Max = {0} ", list.MinElement<int>()); Console.WriteLine("Average = {0} ", list.AverageCol<int>()); Console.WriteLine(new string('*', 30)); IEnumerable<double> array = new[] { 1.2, 3.4, 5.6 }; Console.WriteLine("Sum = {0} ", array.SumElements<double>()); Console.WriteLine("Product = {0:F2} ", array.ProductElements<double>()); Console.WriteLine("Min = {0} ", array.MinElement<double>()); Console.WriteLine("Max = {0} ", array.MaxElement<double>()); Console.WriteLine("Average = {0} ", array.AverageCol<double>()); }
public void TestMinElement() { Assert.Throws<ArgumentNullException>(() => { IEnumerableExtensions.MinElement<string, int>(null, null); }); Assert.Throws<ArgumentNullException>(() => { IEnumerableExtensions.MinElement<string, int>(new[] { "" }, null); }); Assert.Throws<ArgumentNullException>(() => { IEnumerableExtensions.MinElement<string, int>(null, str => str.Length); }); Assert.Throws<InvalidOperationException>(() => IEnumerableExtensions.MinElement<string, int>(new string[0], str => str.Length)); var input = new[] { "one", "two", "three", "four" }; Assert.AreEqual("one", input.MinElement(str => str.Length)); Assert.AreEqual("three", input.MinElement(str => -str.Length)); Assert.AreEqual("three", input.MinElement(str => (int) str[1])); Assert.AreEqual("two", input.MinElement(str => -(int) str[0])); }