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