Answer question 2 Unit tests


/ Published in: Java
Save to your folder(s)

We assume the method indexOfSubArray belongs to the class ArrayUtils.

Only test for primitive type int are included.


Copy this code and paste it in your HTML
  1. private static final int NOT_FOUND = -1;
  2.  
  3. public void nullArraysShouldReturnNotFound() {
  4. int[] array = {1,2,3};
  5. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(null, null);
  6. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, null);
  7. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(null, array);
  8. }
  9.  
  10. public void emptyArraysShouldReturnNotFound() {
  11. int[] array = {1,2,3};
  12. int[] empty = new int[0];
  13. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(empty, empty);
  14. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, empty);
  15. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(empty, array);
  16. }
  17.  
  18. public void sameArrayShouldReturnFirstIndex() {
  19. int[] array = {1,2,3};
  20. int[] subarray = {1,2,3};
  21. assertEquals(0, ArrayUtils.indexOfSubArray(array, subarray);
  22. }
  23.  
  24. public void subarrayPresentSouldReturnIndex() {
  25. int[] array = {1,2,3};
  26. int[] subarray = {2,3};
  27. assertEquals(1, ArrayUtils.indexOfSubArray(array, subarray);
  28. }
  29.  
  30. public void nonTransitive() {
  31. int[] array = {1,2,3};
  32. int[] subarray = {2,3};
  33. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(subarray, array);
  34. }
  35.  
  36. public void ifSubarrayOnlyPartiallyPresentReturnNotFound() {
  37. int[] array = {1,2,3};
  38. int[] subarray = {2,3,4};
  39. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray);
  40. }
  41.  
  42. public void ifSubarrayPresentButWithIntercalatedElementsReturnNotFound() {
  43. int[] array = {1,2,3};
  44. int[] subarray = {1,3};
  45. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray);
  46. }
  47.  
  48. public void ifSubarrayPresentButReversedReturnNotFound() {
  49. int[] array = {1,3,2};
  50. int[] subarray = {2,3};
  51. assertEquals(NOT_FOUND, ArrayUtils.indexOfSubArray(array, subarray);
  52. }
  53.  
  54. public ifSubarrayPresentMoreThanOnceReturnFirstOccurrence(){
  55. int[] array = {1,2,3,5,2,3};
  56. int[] subarray = {2,3};
  57. assertEquals(1, ArrayUtils.indexOfSubArray(array, subarray);
  58. }

Report this snippet


Comments


You need to login to view comments.