Posted By

Cur3n4 on 10/01/11


Tagged


Versions (?)

Answer question 2 Unit tests


 / Published in: Java
 

We assume the method indexOfSubArray belongs to the class ArrayUtils.

Only test for primitive type int are included.

  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  

You need to login to post a comment.