public void SumInt32() { Aggregate <int, int>("int:empty", Enumerable.Sum, EnumerableExt.Sum); Aggregate <int?, int?>("int?:empty", Enumerable.Sum, EnumerableExt.Sum); Aggregate <int?, int?>("int?:all null", Enumerable.Sum, EnumerableExt.Sum, null, null, null); Aggregate <int?, int?>("int?:starts null", Enumerable.Sum, EnumerableExt.Sum, null, 1, 2, 3, 1); Aggregate <int?, int?>("int?:with null", Enumerable.Sum, EnumerableExt.Sum, 1, 2, null, 3, 1); Aggregate <int, int>("int:without null", Enumerable.Sum, EnumerableExt.Sum, 1, 2, 3, 1); Aggregate <int?, int?>("int?:without null", Enumerable.Sum, EnumerableExt.Sum, 1, 2, 3, 1); Aggregate <int, int>("int [proj]:empty", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y)); Aggregate <int?, int?>("int? [proj]:empty", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y)); Aggregate <int?, int?>("int? [proj]:all null", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y), null, null, null); Aggregate <int?, int?>("int? [proj]:starts null", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y), null, 1, 2, 3, 1); Aggregate <int?, int?>("int? [proj]:with null", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y), 1, 2, null, 3, 1); Aggregate <int, int>("int [proj]:without null", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y), 1, 2, 3, 1); Aggregate <int?, int?>("int? [proj]:without null", x => Enumerable.Sum(x, y => - y), x => EnumerableExt.Sum(x, y => - y), 1, 2, 3, 1); }