LukacikPavel

LineCounterTest

Nov 17th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.86 KB | None | 0 0
  1. package sk.upjs.ics.agilnaRuka;
  2.  
  3. import static org.junit.jupiter.api.Assertions.*;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import org.junit.jupiter.api.BeforeAll;
  9. import org.junit.jupiter.api.Test;
  10.  
  11. class LineCounterTest {
  12.  
  13.     static List<String> trimmedFileLines;
  14.     static List<String> fileLines;
  15.     static LineCounter lc = new LineCounter();
  16.  
  17.     @BeforeAll
  18.     static void setUpBeforeClass() throws Exception {
  19.         fileLines = lc.readFile("App.java");
  20.         trimmedFileLines = lc.trimEachLine(fileLines);
  21.     }
  22.  
  23.     @Test
  24.     void readFileTest1() {
  25.         List<String> lines = new ArrayList<>();
  26.  
  27.         lines.add("// normalny riadok kodu");
  28.         lines.add("package sk.upjs.javaLineCounter;");
  29.         lines.add("//10 medzier");
  30.         lines.add("");
  31.         lines.add("//3 tabulatory");
  32.         lines.add("");
  33.         lines.add("//3 krat medzera a tab");
  34.         lines.add("");
  35.         lines.add("// podomnou je celoriadkovy komentar ");
  36.         lines.add("//ja som komentar");
  37.         lines.add("//podomnou je multiline komentar ");
  38.         lines.add("/*");
  39.         lines.add(" sdffs");
  40.         lines.add(" */");
  41.         lines.add("");
  42.         lines.add("public class App { //komentar");
  43.         lines.add(" public static void main(String[] args) {");
  44.         lines.add("     // komentar v strede prikazu");
  45.         lines.add("     System./* kusok komentu */out.println(\"normalny string\");");
  46.         lines.add("     ");
  47.         lines.add("     // snaha o komentar v stringu");
  48.         lines.add("     System.out.println(\"/*nie som komentar, ale string*/\");");
  49.         lines.add("     ");
  50.         lines.add("     // snaha o komentar v stringu");
  51.         lines.add("     System.out.println(\"// \"");
  52.         lines.add("             + ");
  53.         lines.add("             \"/*nie som komentar, ale \"");
  54.         lines.add("             + \"string*/\");");
  55.         lines.add("     String string = \" \\\" \";");
  56.         lines.add(" }");
  57.         lines.add("  /*  ");
  58.         lines.add("   ");
  59.         lines.add("  */");
  60.         lines.add("}");
  61.  
  62.         assertEquals(lines, lc.readFile("App.java"));
  63.     }
  64.  
  65.     @Test
  66.     void trimEachLineTest1() {
  67.         List<String> lines = new ArrayList<>();
  68.         lines.add("string =2;");
  69.         lines.add("   string =2; ");
  70.         lines.add("  //komentar      ");
  71.         lines.add("  /*kom  en*/tar      ");
  72.         lines.add("          ");
  73.  
  74.         List<String> linestrimmed = new ArrayList<>();
  75.         linestrimmed.add("string =2;");
  76.         linestrimmed.add("string =2;");
  77.         linestrimmed.add("//komentar");
  78.         linestrimmed.add("/*kom  en*/tar");
  79.         linestrimmed.add("");
  80.         assertEquals(linestrimmed, lc.trimEachLine(lines));
  81.     }
  82.  
  83.     @Test
  84.     void removeWholeLineCommentsTest1() {
  85.         List<String> lines = new ArrayList<>();
  86.         lines.add("// string");
  87.         lines.add("  //  ");
  88.  
  89.         List<String> linestrimmed = new ArrayList<>();
  90.         linestrimmed.add("");
  91.         linestrimmed.add("  //  ");
  92.  
  93.         assertEquals(linestrimmed, lc.removeWholeLineComments(lines));
  94.     }
  95.  
  96.     @Test
  97.     void isWholeLineCommentTest1() {
  98.         assertEquals(true, lc.isWholeLineComment("//string/**//*/"));
  99.     }
  100.  
  101.     @Test
  102.     void isWholeLineCommentTest2() {
  103.         assertEquals(false, lc.isWholeLineComment(" //string/**//*/"));
  104.     }
  105.  
  106.     @Test
  107.     void countLinesOfCodeTest1() {
  108.         assertEquals(12, lc.countLinesOfCode("App.java"));
  109.     }
  110.  
  111.     @Test
  112.     void isPartOfCommentTest1() {
  113.         boolean isComment = false;
  114.         String line = "pred komentarom /* v komentari";
  115.         int indexOfSlash = line.indexOf('/');
  116.  
  117.         assertTrue(lc.isPartOfComment(isComment, line, indexOfSlash));
  118.     }
  119.  
  120.     @Test
  121.     void isPartOfCommentTest2() {
  122.         boolean isComment = true;
  123.         String line = "pred komentarom /* v komentari";
  124.         int indexOfSlash = line.indexOf('p');
  125.  
  126.         assertTrue(lc.isPartOfComment(isComment, line, indexOfSlash));
  127.     }
  128.  
  129.     @Test
  130.     void isPartOfCommentTest3() {
  131.         boolean isComment = false;
  132.         String line = "pred komentarom /* v komentari";
  133.         int indexOfSlash = line.indexOf('p');
  134.  
  135.         assertFalse(lc.isPartOfComment(isComment, line, indexOfSlash));
  136.     }
  137.  
  138.     @Test
  139.     void isNextStillCommentTest1() {
  140.         boolean isComment = false;
  141.         String line = "pred komentarom /* v komentari";
  142.        
  143.         for (int i = 0; i < line.length(); i++) {
  144.             if (i < 16) {
  145.                 assertFalse(lc.isPartOfComment(isComment, line, i));
  146.             } else {
  147.                 assertTrue(lc.isPartOfComment(isComment, line, i));
  148.                 isComment = true;
  149.             }
  150.         }
  151.     }
  152.  
  153.     @Test
  154.     void removePartialLineCommentsTest1() {
  155.         List<String> listWithComments = new ArrayList<>();
  156.         listWithComments.add("ahoj");
  157.         listWithComments.add(" /*blablabla");
  158.         listWithComments.add("vnutri \" ahoj \" ");
  159.         listWithComments.add("koniec */");
  160.         List<String> trimmedLines = lc.trimEachLine(listWithComments);
  161.         List<String> listWithoutComments = new ArrayList<>();
  162.         listWithoutComments.add("ahoj");
  163.         listWithoutComments.add("");
  164.         listWithoutComments.add("");
  165.         listWithoutComments.add("");
  166.  
  167.         assertEquals(listWithoutComments, lc.removePartialLineComments(trimmedLines));
  168.     }
  169.  
  170.     @Test
  171.     void isPartStringTest1() {
  172.         boolean isInString = false;
  173.         String string = "pred \"v stringu ";
  174.         int startOfString = 5;
  175.        
  176.  
  177.         for (int i = 0; i < string.length(); i++) {
  178.             if (i < startOfString) {
  179.                 assertFalse(lc.isPartOfString(isInString, string, i));
  180.             } else {
  181.                 assertTrue(lc.isPartOfString(isInString, string, i));
  182.                 isInString = true;
  183.             }
  184.         }
  185.     }
  186.    
  187.     @Test
  188.     void isPartStringTest2() {
  189.         boolean isInString = false;
  190.         String string = "pred \"v stringu \\\" stale v stringu ";
  191.         int startOfString = 5;
  192.        
  193.         for (int i = 0; i < string.length(); i++) {
  194.             if (i < startOfString) {
  195.                 assertFalse(lc.isPartOfString(isInString, string, i));
  196.             } else {
  197.                 assertTrue(lc.isPartOfString(isInString, string, i));
  198.                 isInString = true;
  199.             }
  200.         }
  201.     }
  202.    
  203.     @Test
  204.     void isPartStringTest3() {
  205.         boolean isInString = true;
  206.         String string = "v stringu \\\" stale v stringu \" za stringom ";
  207.         int EndOfString = 29;
  208.  
  209.         for (int i = 0; i < string.length(); i++) {
  210.             System.out.println(string.charAt(i) + " " + i);
  211.             if (i < EndOfString) {
  212.                 assertTrue(lc.isPartOfString(isInString, string, i));
  213.             } else {
  214.                 assertFalse(lc.isPartOfString(isInString, string, i));
  215.                 isInString = false;
  216.             }
  217.         }
  218.     }
  219. }
Add Comment
Please, Sign In to add comment