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

RSS Icon Subscribe to comments

You need to login to post a comment.