1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.cpd;
5
6 import junit.framework.TestCase;
7 import net.sourceforge.pmd.PMD;
8 import net.sourceforge.pmd.cpd.Mark;
9 import net.sourceforge.pmd.cpd.Match;
10 import net.sourceforge.pmd.cpd.Renderer;
11 import net.sourceforge.pmd.cpd.XMLRenderer;
12
13 import java.util.ArrayList;
14 import java.util.List;
15
16 /***
17 * @author Philippe T'Seyen
18 */
19 public class XMLRendererTest extends TestCase
20 {
21 public void testRender_NoMatches()
22 {
23 Renderer renderer = new XMLRenderer();
24 List list = new ArrayList();
25 String report = renderer.render(list.iterator());
26 assertEquals("<?xml version=\"1.0\"?><pmd-cpd></pmd-cpd>", report);
27 }
28
29 public void testRender_Match()
30 {
31 Renderer renderer = new XMLRenderer();
32 List list = new ArrayList();
33 Match match = new Match(75, new Mark(1, "/var/Foo.java", 1, 48), new Mark(2, "/var/Foo.java", 2, 73));
34 match.setLineCount(6);
35 match.setSourceCodeSlice("code fragment");
36 list.add(match);
37 String report = renderer.render(list.iterator());
38 assertEquals("<?xml version=\"1.0\"?><pmd-cpd><duplication lines=\"6\" tokens=\"75\"><file line=\"48\" path=\"/var/Foo.java\"/><file line=\"73\" path=\"/var/Foo.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment" + PMD.EOL + "]]></codefragment></duplication></pmd-cpd>", report);
39 }
40
41 public void testRender_MultipleMatch()
42 {
43 Renderer renderer = new XMLRenderer();
44 List list = new ArrayList();
45 Match match1 = new Match(75, new Mark(1, "/var/Foo.java", 1, 48), new Mark(2, "/var/Foo.java", 2, 73));
46 match1.setLineCount(6);
47 match1.setSourceCodeSlice("code fragment");
48 Match match2 = new Match(76, new Mark(2, "/var/Foo2.java", 2, 49), new Mark(3, "/var/Foo2.java", 3, 74));
49 match2.setLineCount(7);
50 match2.setSourceCodeSlice("code fragment 2");
51 list.add(match1);
52 list.add(match2);
53 String report = renderer.render(list.iterator());
54 assertEquals("<?xml version=\"1.0\"?><pmd-cpd><duplication lines=\"6\" tokens=\"75\"><file line=\"48\" path=\"/var/Foo.java\"/><file line=\"73\" path=\"/var/Foo.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment" + PMD.EOL + "]]></codefragment></duplication><duplication lines=\"7\" tokens=\"76\"><file line=\"49\" path=\"/var/Foo2.java\"/><file line=\"74\" path=\"/var/Foo2.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment 2" + PMD.EOL + "]]></codefragment></duplication></pmd-cpd>", report);
55 }
56 }
57
This page was automatically generated by Maven