public class InClass12 {
/**
* Get the index of the smallest value in the array after index k, including index k.
* If k is out of bounds for the array, return -1. If k is negative, also return -1.
*/
public static int getMinimumIndexAfter(int arr[], int k) {
//if invalid k, return -1
if (k < 0 || k >= arr.length) {
return -1;
}
int minIndex = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}
}
import org.junit.Test;
import static org.junit.Assert.*;
public class InClass12Test {
@Test
public void FailTestGetMinimumIndexAfter() {
// input
int[] arr = {1,2,3,4,5,6};
// expected
int expected = 3;
// actual
int actual = InClass12.getMinimumIndexAfter(arr, 3);
// assertion
assertEquals("The test failed !", expected, actual);
}
@Test
public void PassTestGetMinimumIndexAfter() {
// input
int[] arr = {1,2,3,4,5,6};
// expected
int expected = 0;
// actual
int actual = InClass12.getMinimumIndexAfter(arr, 0);
// assertion
assertEquals("The test failed !", expected, actual);
}
}