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