You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by bo...@apache.org on 2011/03/18 18:10:56 UTC

svn commit: r1082974 - /incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java

Author: bodewig
Date: Fri Mar 18 17:10:56 2011
New Revision: 1082974

URL: http://svn.apache.org/viewvc?rev=1082974&view=rev
Log:
a bunch of template methods that will be used by the tests but are currently unused.  RAT-87

Modified:
    incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java

Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java?rev=1082974&r1=1082973&r2=1082974&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java Fri Mar 18 17:10:56 2011
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.Writer;
 import java.util.Random;
 
 import junit.framework.TestCase;
@@ -31,6 +32,82 @@ public class TestLicenceAppender extends
   /** Used to ensure that temporary files have unq */
   private Random random = new Random();
     
+    private interface FileCreator {
+        void createFile(Writer w) throws IOException;
+    }
+
+    private interface NewFileReader {
+        void readFile(BufferedReader r) throws IOException;
+    }
+
+    private static String qualify(String fileName) {
+        return new File(new File(System.getProperty("java.io.tmpdir")),
+                        fileName)
+            .getAbsolutePath();
+    }
+
+    private static void createTestFile(String fileName,
+                                       FileCreator creator)
+        throws IOException {
+        FileWriter w = null;
+        try {
+            creator.createFile(w = new FileWriter(fileName));
+        } finally {
+            if (w != null) {
+                w.close();
+            }
+        }
+    }
+
+    private static void commonTestTemplate(String relativeName,
+                                           FileCreator creator,
+                                           NewFileReader reader)
+        throws IOException {
+        String name = qualify(relativeName);
+        try {
+            createTestFile(name, creator);
+
+            ApacheV2LicenceAppender appender =
+                new ApacheV2LicenceAppender();
+            appender.append(new File(name));
+
+            BufferedReader r = null;
+            try {
+                r = new BufferedReader(new FileReader(name + ".new"));
+                reader.readFile(r);
+            } finally {
+                if (r != null) {
+                    r.close();
+                }
+            }
+        } finally {
+            File f = new File(name);
+            if (f.exists() && !f.delete()) {
+                f.deleteOnExit();
+            }
+            f = new File(name + ".new");
+            if (f.exists() && !f.delete()) {
+                f.deleteOnExit();
+            }
+        }
+    }
+
+    private static NewFileReader checkLines(final String firstLine,
+                                            final String secondLine) {
+        return new NewFileReader() {
+            public void readFile(BufferedReader r) throws IOException {
+                String line = r.readLine();
+                assertEquals("First line is incorrect",
+                             firstLine, line);
+                if (secondLine != null) {
+                    line = r.readLine();
+                    assertEquals("Second line is incorrect",
+                                 secondLine, line);
+                }
+            }
+        };
+    }
+
   public void testAddLicenceToUnknownFile() throws IOException {
     String filename = "tmp" + random.nextLong() + ".unknownType";
     File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);