View Javadoc
1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.cpd;
5   
6   import static org.junit.Assert.assertEquals;
7   
8   import java.util.ArrayList;
9   import java.util.List;
10  
11  import net.sourceforge.pmd.PMD;
12  
13  import org.junit.Test;
14  
15  public class CSVRendererTest {
16  
17      @Test
18      public void testLineCountPerFile() {
19          Renderer renderer = new CSVRenderer(true);
20          List<Match> list = new ArrayList<Match>();
21          String codeFragment = "code\nfragment";
22          Mark mark1 = createMark("public", "/var/Foo.java", 48, 10, codeFragment);
23          Mark mark2 = createMark("stuff", "/var/Bar.java", 73, 20, codeFragment);
24          Match match = new Match(75, mark1, mark2);
25  
26          list.add(match);
27          String report = renderer.render(list.iterator());
28          String expectedReport =
29              "tokens,occurrences" + PMD.EOL +
30              "75,2,48,10,/var/Foo.java,73,20,/var/Bar.java" + PMD.EOL;
31  
32          assertEquals(expectedReport, report);
33      }
34  
35      private Mark createMark(String image, String tokenSrcID, int beginLine, int lineCount, String code) {
36          Mark result = new Mark(new TokenEntry(image, tokenSrcID, beginLine));
37  
38          result.setLineCount(lineCount);
39          result.setSoureCodeSlice(code);
40          return result;
41      }
42  
43      public static junit.framework.Test suite() {
44          return new junit.framework.JUnit4TestAdapter(CSVRendererTest.class);
45      }
46  }
47