public void GivenNeedleInHaystack_WhenBinarySearchIsInvoked_ThenIndexOfNeedleIsReturned(int needle) { // Arrange var haystack = Enumerable.Range(1, 100).ToArray(); // Act var result = NumberSearcher.BinarySearch(haystack, needle); // Assert Assert.Equal(needle - 1, result); // Index is 0 based, so e.g. number 99 is at position 98. }
public void GivenNeedleNotInHaystack_WhenBinarySearchIsInvoked_ThenNotFoundValueIsReturned() { // Arrange var haystack = Enumerable.Range(1, 100).ToArray(); var needle = 101; // Act var result = NumberSearcher.BinarySearch(haystack, needle); // Assert Assert.Equal(-1, result); }
public void FindNextBiggerNumber_NonPositiveValue(int number) => Assert.Throws <ArgumentException>(() => NumberSearcher.FindNextBiggerNumber(number));
public void FindNextBiggerNumber_TooBigValue(int number) => Assert.Throws <OverflowException>(() => NumberSearcher.FindNextBiggerNumber(number));
public int FindNextBiggerNumber_IsCorrect(int number) { int result = NumberSearcher.FindNextBiggerNumber(number); return(result); }