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