Beispiel #1
0
        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.
        }
Beispiel #2
0
        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);
        }