public void MaxBy() { var data = new[] { "A", "B", "C", "DZ" }; Assert.Throws<NullReferenceException> (() => ((IEnumerable<string>)null).MaxBy(x => x.Length)); Assert.Throws<NullReferenceException> (() => data.MaxBy<string, int>(null)); Assert.Throws<InvalidOperationException>(() => new string[0].MaxBy(x => x.Length)); Assert.Equal("DZ", data.MaxBy(x => x.Length)); Assert.Equal("A", data.Take(3).MaxBy(x => x.Length)); }
static void Main(string[] args) { var numbers = new[] { 2, 1, 5, 6, 9, 3, 7, 8, 4 }; var evenNumbersAbove3EnumerateAtOnce = numbers.Dump(true, "numbers") .Where(x => x % 2 == 0).Dump(true, "Even") .Where(x => x > 3).Dump(true, "gt3") .Distinct().Dump(true, "Distinct") .OrderBy(x => x).Dump(true, "Ordered"); Debug.WriteLine("------------------------------"); var evenNumbersAbove3LazyEval = numbers.Dump(false, "numbers") .Where(x => x % 2 == 0).Dump(false, "Even") .Where(x => x > 3).Dump(false, "gt3") .Distinct().Dump(false, "Distinct") .OrderBy(x => x).Dump(false, "Ordered").ToList(); Console.WriteLine("3 in numbers: " + 3.In(numbers)); Console.WriteLine("10 in numbers: " + 10.In(numbers)); Console.WriteLine("MaxBy:"+numbers.MaxBy(x => x)); Console.WriteLine("MinBy:" + numbers.MinBy(x => x)); Console.ReadKey(); }
public void Must_get_correct_item() { IEnumerable<string> items = new[] { "Test", "By", "Length" }; Assert.That(items.MaxBy(arg => arg.Length), Is.EqualTo("Length")); }
public void Must_retrieve_correct_object() { var systemUnderTest = new[] { "Test", "Test1", "Test2", "Test10", "Six", "Four" }; Assert.That(systemUnderTest.MaxBy(arg => arg.Length), Is.EqualTo("Test10")); }