(no commit message)
[utils] / support / general / src / test / java / org / wamblee / io / TestData.java
index 1418f6b1227b532312cc7c172d0520f1dff23aab..575c108cfc3dcbfa7ebb359a5ab72b73fc39afff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2005 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,13 +17,9 @@ package org.wamblee.io;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.MappedByteBuffer;
-import java.nio.channels.FileChannel;
 
 import junit.framework.Assert;
 
@@ -33,159 +29,155 @@ import junit.framework.Assert;
  * @author Erik Brakkee
  */
 public final class TestData {
-
-       private Object testcase;
-       private File root;
-
-       /**
-        * Test data to be constructed in the setUp of a test. {@link #clean()} must
-        * be called to make sure that this directory is empty before executing a
-        * test.
-        */
-       public TestData(Object aTestcase) {
-               testcase = aTestcase;
-               root = getTestRootDir(aTestcase);
-               FileSystemUtils.createDir(root);
-       }
-
-       /**
-        * Obtain root directory of JUnit tests.
-        * 
-        * @return Directory name.
-        */
-       private static File getTestRootDir(Object aTestcase) {
-               return FileSystemUtils.getTestOutputDir(aTestcase.getClass());
-       }
-
-       public void createFile(String aRelative, String aFile, InputStream aContents) {
-               FileSystemUtils
-                               .createFile(new File(root, aRelative), aFile, aContents);
-       }
-
-       public void createFile(String aFile, String aContents) {
-               createFile(".", aFile, aContents);
-       }
-
-       public void createFile(String aRelative, String aFile, String aContents) {
-               InputStream is = new ByteArrayInputStream(aContents.getBytes());
-               FileSystemUtils.createFile(new File(root, aRelative), aFile, is);
-       }
-       
-       public void deleteFile(String aFile) {
-               deleteFile(".", aFile);
-       }
-
-       public void deleteFile(String aRelative, String aFile) {
-               FileSystemUtils.delete(new File(root, aFile));
-       }
-
-       /**
-        * Returns a temporary directory.
-        * 
-        * @return Temporary directory.
-        */
-       public File getTmpDir() {
-               return new File(root, "tmpdir");
-       }
-
-       /**
-        * Cleans up the test output directory.
-        */
-       public void clean() {
-               FileSystemUtils.deleteDirRecursively(root);
-               FileSystemUtils.createDir(root);
-       }
-
-       /**
-        * Recursively copy a directory contents to the test output directory.
-        * 
-        * @param sSrc
-        *            Source directory to copy.
-        */
-       public void copyDir(File aSrc) {
-               FileSystemUtils.copyDir(aSrc, root);
-       }
-
-       /**
-        * Copies a classpath resource to a relative path in the test output
-        * directory.
-        * 
-        * @param aResource
-        *            Resource to copy.
-        * @param aRelativePath
-        *            Relative path.
-        */
-       public void copyResource(String aResource, String aRelativePath) {
-               try {
-                       InputStream is = new ClassPathResource(aResource).getInputStream();
-                       FileOutputStream fos = new FileOutputStream(new File(root,
-                                       aRelativePath));
-                       FileSystemUtils.copyStream(is, fos);
-               } catch (IOException e) {
-                       e.printStackTrace();
-                       Assert.fail(e.getMessage());
-               }
-       }
-
-       /**
-        * Copies a resource to the root directory of the test output.
-        * 
-        * @param aResource
-        *            Resource.
-        */
-       public void copyResource(String aResource) {
-               String basename = new File(aResource).getName();
-               copyResource(aResource, basename);
-       }
-
-       public void createDir(String aRelative) {
-               FileSystemUtils.createDir(new File(root, aRelative));
-       }
-
-       /**
-        * Deletes a file or directory relative to the test output root.
-        * 
-        * @param aRelative
-        *            Relative path. The testcase will fail if the file or directory
-        *            cannot be removed.
-        */
-       public void delete(String aRelative) {
-               FileSystemUtils.delete(new File(root, aRelative));
-       }
-
-       /**
-        * Deletes a directory including its contents.
-        * 
-        * @param aRelative
-        *            Relative path.
-        */
-       public void deleteDir(String aRelative) {
-               FileSystemUtils.deleteDir(new File(root, aRelative));
-       }
-
-       /**
-        * Deletes a directory recursively.
-        * 
-        * @param aRelative
-        *            Relative path.
-        */
-       public void deleteDirRecursively(String aRelative) {
-               FileSystemUtils.deleteDir(new File(root, aRelative));
-       }
-
-       /**
-        * Gets the root of the test output directory.
-        * 
-        * @return Root of the test output.
-        */
-       public File getRoot() {
-               return root;
-       }
-
-       /**
-        * Gets a file object for a relative path.
-        */
-       public File getFile(String aRelative) {
-               return new File(root, aRelative);
-       }
+    private File root;
+
+    /**
+     * Test data to be constructed in the setUp of a test. {@link #clean()} must
+     * be called to make sure that this directory is empty before executing a
+     * test.
+     */
+    public TestData(Object aTestcase) {
+        root = getTestRootDir(aTestcase);
+        FileSystemUtils.createDir(root);
+    }
+
+    /**
+     * Obtain root directory of JUnit tests.
+     * 
+     * @return Directory name.
+     */
+    private static File getTestRootDir(Object aTestcase) {
+        return FileSystemUtils.getTestOutputDir(aTestcase.getClass());
+    }
+
+    public void createFile(String aRelative, String aFile, InputStream aContents) {
+        FileSystemUtils.createFile(new File(root, aRelative), aFile, aContents);
+    }
+
+    public void createFile(String aFile, String aContents) {
+        createFile(".", aFile, aContents);
+    }
+
+    public void createFile(String aRelative, String aFile, String aContents) {
+        InputStream is = new ByteArrayInputStream(aContents.getBytes());
+        FileSystemUtils.createFile(new File(root, aRelative), aFile, is);
+    }
+
+    public void deleteFile(String aFile) {
+        deleteFile(".", aFile);
+    }
+
+    public void deleteFile(String aRelative, String aFile) {
+        FileSystemUtils.delete(new File(root, aFile));
+    }
+
+    /**
+     * Returns a temporary directory.
+     * 
+     * @return Temporary directory.
+     */
+    public File getTmpDir() {
+        return new File(root, "tmpdir");
+    }
+
+    /**
+     * Cleans up the test output directory.
+     */
+    public void clean() {
+        FileSystemUtils.deleteDirRecursively(root);
+        FileSystemUtils.createDir(root);
+    }
+
+    /**
+     * Recursively copy a directory contents to the test output directory.
+     * 
+     * @param aSrc
+     *            Source directory to copy.
+     */
+    public void copyDir(File aSrc) {
+        FileSystemUtils.copyDir(aSrc, root);
+    }
+
+    /**
+     * Copies a classpath resource to a relative path in the test output
+     * directory.
+     * 
+     * @param aResource
+     *            Resource to copy.
+     * @param aRelativePath
+     *            Relative path.
+     */
+    public void copyResource(String aResource, String aRelativePath) {
+        try {
+            InputStream is = new ClassPathResource(aResource).getInputStream();
+            FileOutputStream fos = new FileOutputStream(new File(root,
+                aRelativePath));
+            FileSystemUtils.copyStream(is, fos);
+        } catch (IOException e) {
+            e.printStackTrace();
+            Assert.fail(e.getMessage());
+        }
+    }
+
+    /**
+     * Copies a resource to the root directory of the test output.
+     * 
+     * @param aResource
+     *            Resource.
+     */
+    public void copyResource(String aResource) {
+        String basename = new File(aResource).getName();
+        copyResource(aResource, basename);
+    }
+
+    public void createDir(String aRelative) {
+        FileSystemUtils.createDir(new File(root, aRelative));
+    }
+
+    /**
+     * Deletes a file or directory relative to the test output root.
+     * 
+     * @param aRelative
+     *            Relative path. The testcase will fail if the file or directory
+     *            cannot be removed.
+     */
+    public void delete(String aRelative) {
+        FileSystemUtils.delete(new File(root, aRelative));
+    }
+
+    /**
+     * Deletes a directory including its contents.
+     * 
+     * @param aRelative
+     *            Relative path.
+     */
+    public void deleteDir(String aRelative) {
+        FileSystemUtils.deleteDir(new File(root, aRelative));
+    }
+
+    /**
+     * Deletes a directory recursively.
+     * 
+     * @param aRelative
+     *            Relative path.
+     */
+    public void deleteDirRecursively(String aRelative) {
+        FileSystemUtils.deleteDir(new File(root, aRelative));
+    }
+
+    /**
+     * Gets the root of the test output directory.
+     * 
+     * @return Root of the test output.
+     */
+    public File getRoot() {
+        return root;
+    }
+
+    /**
+     * Gets a file object for a relative path.
+     */
+    public File getFile(String aRelative) {
+        return new File(root, aRelative);
+    }
 }