@Test /* Structural Basis, Nominal Case */ public void testCompressInput() throws IOException { // The given file will go through both parts of the if-statement. Segmentator seg = new Segmentator(3, "test.txt"); Segmentator.Test test = seg.new Test(); List<String> segmentsToCompress = seg.segmentString(); List<Integer> actualList = test.testCompressInput(segmentsToCompress); List<Integer> expectedList = new ArrayList<Integer>(); expectedList.add(0); expectedList.add(1); expectedList.add(2); expectedList.add(3); expectedList.add(4); expectedList.add(3); expectedList.add(4); expectedList.add(1); expectedList.add(5); expectedList.add(3); expectedList.add(2); expectedList.add(3); expectedList.add(1); expectedList.add(6); expectedList.add(7); expectedList.add(8); assertEquals(expectedList, actualList); }
@Test /* Structural Basis, Data Flow */ public void testCompressInputAllSameSeg() throws IOException { // The file will have all the same segment and will go into the else once and then the if // exclusively Segmentator seg = new Segmentator(3, "SameSegments.txt"); Segmentator.Test test = seg.new Test(); List<String> segmentsToCompress = seg.segmentString(); List<Integer> actualList = test.testCompressInput(segmentsToCompress); List<Integer> expectedList = new ArrayList<Integer>(); expectedList.add(0); expectedList.add(0); expectedList.add(0); assertEquals(expectedList, actualList); }
@Test /* Structural Basis, Data Flow */ public void testCompressInputAllDiffSegs() throws IOException { // The file will have all unique segments and thus only go into one section of if-statement (the // else, not the if) Segmentator seg = new Segmentator(2, "punctuation.txt"); Segmentator.Test test = seg.new Test(); List<String> segmentsToCompress = seg.segmentString(); List<Integer> actualList = test.testCompressInput(segmentsToCompress); List<Integer> expectedList = new ArrayList<Integer>(); expectedList.add(0); expectedList.add(1); expectedList.add(2); expectedList.add(3); assertEquals(expectedList, actualList); }