/ Published in: Java
We assume the method indexOfSubArray belongs to the class ArrayUtils.
Only test for primitive type int are included.
Only test for primitive type int are included.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
private static final int NOT_FOUND = -1; public void nullArraysShouldReturnNotFound() { int[] array = {1,2,3}; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(null, null); assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, null); assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(null, array); } public void emptyArraysShouldReturnNotFound() { int[] array = {1,2,3}; int[] empty = new int[0]; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(empty, empty); assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, empty); assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(empty, array); } public void sameArrayShouldReturnFirstIndex() { int[] array = {1,2,3}; int[] subarray = {1,2,3}; assertEquals(0, ArrayUtils.indexOfSubArray(array, subarray); } public void subarrayPresentSouldReturnIndex() { int[] array = {1,2,3}; int[] subarray = {2,3}; assertEquals(1, ArrayUtils.indexOfSubArray(array, subarray); } public void nonTransitive() { int[] array = {1,2,3}; int[] subarray = {2,3}; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(subarray, array); } public void ifSubarrayOnlyPartiallyPresentReturnNotFound() { int[] array = {1,2,3}; int[] subarray = {2,3,4}; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray); } public void ifSubarrayPresentButWithIntercalatedElementsReturnNotFound() { int[] array = {1,2,3}; int[] subarray = {1,3}; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray); } public void ifSubarrayPresentButReversedReturnNotFound() { int[] array = {1,3,2}; int[] subarray = {2,3}; assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray); } public ifSubarrayPresentMoreThanOnceReturnFirstOccurrence(){ int[] array = {1,2,3,5,2,3}; int[] subarray = {2,3}; assertEquals(1, ArrayUtils.indexOfSubArray(array, subarray); }