public void FindIndex_ArrayNull_ItemNull_ArgumentNullExceptionThrown(String[] sortedArray, String searchItem) { // Arrange var searcher = new JumpSearcher <String>(); // Act, Assert _ = Assert.Throws <ArgumentNullException>(() => searcher.FindIndex(sortedArray, searchItem)); }
public void FindIndex_ItemMissing_MinusOneReturned([Random(1, 1000, 10)] int n, [Random(-100, 1100, 10)] int missingItem) { // Arrange var searcher = new JumpSearcher <int>(); var sortedArray = Enumerable.Range(0, n).Select(_ => TestContext.CurrentContext.Random.Next(1_000_000)).Where(x => x != missingItem).OrderBy(x => x).ToArray(); var expectedIndex = -1; // Act var actualIndex = searcher.FindIndex(sortedArray, missingItem); // Assert Assert.AreEqual(expectedIndex, actualIndex); }
public void FindIndex_ArrayEmpty_MinusOneReturned([Random(-100, 1100, 10)] int missingItem) { // Arrange var searcher = new JumpSearcher <int>(); var sortedArray = Array.Empty <int>(); var expectedIndex = -1; // Act var actualIndex = searcher.FindIndex(sortedArray, missingItem); // Assert Assert.AreEqual(expectedIndex, actualIndex); }
public void FindIndex_ItemPresent_ItemCorrect([Random(1, 1000, 100)] int n) { // Arrange var searcher = new JumpSearcher <int>(); var sortedArray = Enumerable.Range(0, n).Select(_ => TestContext.CurrentContext.Random.Next(1_000_000)).OrderBy(x => x).ToArray(); var expectedIndex = TestContext.CurrentContext.Random.Next(sortedArray.Length); // Act var actualIndex = searcher.FindIndex(sortedArray, sortedArray[expectedIndex]); // Assert sortedArray[actualIndex].Should().Be(sortedArray[expectedIndex]); }