1 package test.net.sourceforge.pmd.cpd;
2
3 import junit.framework.TestCase;
4 import net.sourceforge.pmd.cpd.FileReporter;
5 import net.sourceforge.pmd.cpd.ReportException;
6
7 import java.io.BufferedReader;
8 import java.io.File;
9 import java.io.FileReader;
10 import java.io.IOException;
11
12 /***
13 * @author Philippe T'Seyen
14 */
15 public class FileReporterTest extends TestCase
16 {
17 public void testCreation() {
18 try {
19 FileReporter fileReporter = new FileReporter(null);
20 fail("expected NullPointerException");
21 } catch (NullPointerException npe) {
22 }
23 }
24
25 public void testEmptyReport() throws ReportException {
26 File reportFile = new File("report.tmp");
27 FileReporter fileReporter = new FileReporter(reportFile);
28 fileReporter.report("");
29 assertTrue(reportFile.exists());
30 assertEquals(0, reportFile.length());
31 assertTrue(reportFile.delete());
32 }
33
34 public void testReport() throws ReportException, IOException {
35 String testString = "first line\nsecond line";
36 File reportFile = new File("report.tmp");
37 FileReporter fileReporter = new FileReporter(reportFile);
38
39 fileReporter.report(testString);
40 assertEquals(testString, readFile(reportFile));
41 assertTrue(reportFile.delete());
42 }
43
44 public void testInvalidFile() {
45 File reportFile = new File("/invalid_folder/report.tmp");
46 FileReporter fileReporter = new FileReporter(reportFile);
47 try {
48 fileReporter.report("");
49 fail("expected ReportException");
50 } catch (ReportException re) {
51 }
52 }
53
54 private String readFile(File file) throws IOException {
55 BufferedReader reader = null;
56 try {
57 reader = new BufferedReader(new FileReader(file));
58 StringBuffer buffer = new StringBuffer();
59 String line = reader.readLine();
60 while (line != null) {
61 buffer.append(line);
62 line = reader.readLine();
63 if (line != null) {
64 buffer.append("\n");
65 }
66 }
67 return buffer.toString();
68 } finally {
69 if (reader != null) reader.close();
70 }
71 }
72 }
This page was automatically generated by Maven