/*
- * 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.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- */
+ */
package org.wamblee.io;
-import junit.framework.Assert;
-
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;
/**
* TestData provides a convenient interface for managing test output files.
- *
+ *
* @author Erik Brakkee
*/
public final class TestData {
- private Object testcase;
private File root;
/**
* 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) {
/**
* Returns a temporary directory.
- *
+ *
* @return Temporary directory.
*/
public File getTmpDir() {
/**
* Recursively copy a directory contents to the test output directory.
- *
+ *
* @param sSrc
* Source directory to copy.
*/
/**
* Copies a classpath resource to a relative path in the test output
* directory.
- *
+ *
* @param aResource
* Resource to copy.
* @param aRelativePath
try {
InputStream is = new ClassPathResource(aResource).getInputStream();
FileOutputStream fos = new FileOutputStream(new File(root,
- aRelativePath));
+ aRelativePath));
FileSystemUtils.copyStream(is, fos);
} catch (IOException e) {
e.printStackTrace();
/**
* Copies a resource to the root directory of the test output.
- *
+ *
* @param aResource
* Resource.
*/
/**
* 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.
/**
* Deletes a directory including its contents.
- *
+ *
* @param aRelative
* Relative path.
*/
/**
* Deletes a directory recursively.
- *
+ *
* @param aRelative
* Relative path.
*/
/**
* Gets the root of the test output directory.
- *
+ *
* @return Root of the test output.
*/
public File getRoot() {