public void BinarySearch_find_number() { var numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int result = 0; Assert.DoesNotThrow(() => result = numbers.BinarySearch(x => x, 3)); Assert.That(result, Is.EqualTo(3)); }
public void BinarySearch_find_string() { var strings = new[] { "Alice", "Ben", "Bob", "Carl", "Casper", "George", "Luke", "Ned" }; string result = null; Assert.DoesNotThrow(() => result = strings.BinarySearch(x => x, "Ben")); Assert.That(result, Is.EqualTo("Ben")); }
public void BinarySubsetSearch_ForItemInMiddle() { var haystack = new[] { -3, -4, 1, 5, 8, 9, 10, 11, 14 }.OrderBy(i => i).ToList(); var result = haystack.BinarySearch(i => i.CompareTo(8), 2, -3); result.Should().Be(2 + 2); }
public void BinarySubsetSearch_ForNonExistentItem() { var haystack = new[] { -3, -4, 1, 5, 8, 9, 10, 11, 14 }.OrderBy(i => i).ToList(); var result = haystack.BinarySearch(i => i.CompareTo(7), 2, -3); result.Should().Be(-1); }
public void BinarySubsetSearch_ReversedMinMax() { var haystack = new[] { 1, 5, 8, 9, 10 }.OrderBy(i => i).ToList(); var result = haystack.BinarySearch(i => i.CompareTo(1), -1, 0); result.Should().Be(0); }
public void BinarySearch_ForItemInMiddle() { var haystack = new[] { 1, 5, 8, 9, 10 }.OrderBy(i => i).ToList(); var result = haystack.BinarySearch(i => i.CompareTo(8)); result.Should().Be(2); }
public void BinarySearch_ForFirstItem() { var haystack = new[] { 1, 5, 8, 9, 10 }.OrderBy(i => i).ToList(); var result = haystack.BinarySearch(i => i.CompareTo(1)); result.Should().Be(0); }
public void BinarySearch_throw_ValueNotFoundException() { var numbers = new [] { 1, 2, 4, 5, 6, 7, 8, 9, 10 }; Assert.Throws<ValueNotFoundException>(() => numbers.BinarySearch(x => x, 3)); }