-
- 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 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);
+ }