View Javadoc
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