| java.lang.Object org.geotools.test.TestData
All known Subclasses: org.geotools.TestData,
TestData | public class TestData implements Runnable(Code) | | Provides access to
test-data directories associated with JUnit tests.
We have chosen "
test-data " to follow the javadoc "
doc-files " convention
of ensuring that data directories don't look anything like normal java packages.
Example:
class MyClass {
public void example() {
Image testImage = new ImageIcon(TestData.url(this, "test.png")).getImage();
Reader reader = TestData.openReader(this, "script.xml");
// ... do some process
reader.close();
}
}
Where the directory structure goes as bellow:
-
MyClass.java
-
-
test-data/test.png
-
test-data/script.xml
By convention you should try and locate
test-data near the JUnit test
cases that uses it. If you need an access to shared test data, import the
org.geotools.TestData class from the
sample-module instead
of this one.
since: 2.4 version: $Id: TestData.java 27862 2007-11-12 19:51:19Z desruisseaux $ author: James McGill author: Simone Giannecchiin author: Martin Desruisseaux |
Constructor Summary | |
protected | TestData() Do not allow instantiation of this class, except for extending it. |
Method Summary | |
protected static void | deleteOnExit(File file) Requests that the file or directory denoted by the specified
pathname be deleted when the virtual machine terminates. | protected static void | deleteOnExit(File file, boolean force) Requests that the file or directory denoted by the specified pathname be deleted
when the virtual machine terminates. | public static File | file(Object caller, String path) Access to
(caller, path) as a non-null
File . | public static BufferedReader | getReader(Object caller, String name) Provides a
java.io.BufferedReader for named test data.
It is the caller responsability to close this reader after usage.
Parameters: caller - The class of the object associated with named data. Parameters: name - of test data to load. | public static URL | getResource(Object caller, String name) Locates named test-data resource for caller. | public static boolean | isBaseJavaPlatform() Returns
true if the running Java virtual machine is 1.4. | public static boolean | isExtensiveTest() Returns
true if
system property is set to
true . | public static boolean | isInteractiveTest() Returns
true if
system property is set to
true . | public static boolean | isMediaLibAvailable() Returns
true if JAI MediaLib acceleration is available. | public static ReadableByteChannel | openChannel(Object caller, String name) Provides a channel for named test data. | public static LineNumberReader | openReader(Object caller, String name) Provides a
BufferedReader for named test data. | public static InputStream | openStream(Object caller, String name) Provides a non-null
InputStream for named test data.
It is the caller responsability to close this stream after usage.
Parameters: caller - Calling class or object used to locate test-data . Parameters: name - of test data to load. | public void | run() Deletes all temporary files. | public static File | temp(Object caller, String name) Creates a temporary file with the given name. | public static void | unzipFile(Object caller, String name) Unzip a file in the
test-data directory. | public static URL | url(Object caller, String path) Access to
(caller, path) as a non-null
URL . |
EXTENSIVE_TEST_KEY | final public static String EXTENSIVE_TEST_KEY(Code) | | The
key for more extensive test
suite. The value for this key is returned by the
TestData.isExtensiveTest method. Some
test suites will perform more extensive test coverage if this property is set to
true . The value for this property is typically defined on the command line as a
-D
=true option at Java or Maven starting time.
|
INTERACTIVE_TEST_KEY | final public static String INTERACTIVE_TEST_KEY(Code) | | The
key for interactive tests.
The value for this key is returned by the
TestData.isInteractiveTest method. Some
test suites will show windows with maps and other artifacts related to testing
if this property is set to
true .
The value for this property is typically defined on the command line as a
-D
=true option at Java or Maven starting time.
|
TestData | protected TestData()(Code) | | Do not allow instantiation of this class, except for extending it.
|
deleteOnExit | protected static void deleteOnExit(File file)(Code) | | Requests that the file or directory denoted by the specified
pathname be deleted when the virtual machine terminates.
|
deleteOnExit | protected static void deleteOnExit(File file, boolean force)(Code) | | Requests that the file or directory denoted by the specified pathname be deleted
when the virtual machine terminates. This method can optionnaly delete the file
only if it has been modified, thus giving a chance for test suites to copy their
resources only once.
Parameters: file - The file to delete. Parameters: force - If true , delete the file in all cases. If false ,delete the file if and only if it has been modified. The default valueif true . since: 2.4 |
file | public static File file(Object caller, String path) throws IOException(Code) | | Access to
(caller, path) as a non-null
File . You can access the
test-data directory with:
TestData.file(MyClass.class, null);
Parameters: caller - Calling class or object used to locate test-data . Parameters: path - Path to file in test-data . The file to the test-data resource. throws: FileNotFoundException - if the file is not found. throws: IOException - if the resource can't be fetched for an other reason. |
getResource | public static URL getResource(Object caller, String name)(Code) | | Locates named test-data resource for caller. Note: Consider using the
TestData.url url (caller, name) method instead if the resource should always
exists.
Parameters: caller - Calling class or object used to locate test-data . Parameters: name - resource name in test-data directory. URL or null if the named test-data could not be found. See Also: TestData.url |
isBaseJavaPlatform | public static boolean isBaseJavaPlatform()(Code) | | Returns
true if the running Java virtual machine is 1.4. This is the lowest
Java version currently supported by Geotools. This version will increase in future
Geotools version.
This method is used for some broken JUnit test that are know to run on JSE 1.4 but
not on JSE 1.6 for example.
|
isExtensiveTest | public static boolean isExtensiveTest()(Code) | | Returns
true if
system property is set to
true . Test suites should check this value before to perform lengthly tests.
|
isInteractiveTest | public static boolean isInteractiveTest()(Code) | | Returns
true if
system property is set to
true .
Test suites should check this value before showing any kind of graphical window to the user.
|
isMediaLibAvailable | public static boolean isMediaLibAvailable()(Code) | | Returns
true if JAI MediaLib acceleration is available.
This method is used to disable some checks in unit tests that fail when JAI is
run in pure java mode.
|
openChannel | public static ReadableByteChannel openChannel(Object caller, String name) throws IOException(Code) | | Provides a channel for named test data. It is the caller responsability to close this
chanel after usage.
Parameters: caller - The class of the object associated with named data. Parameters: name - of test data to load. The chanel. throws: FileNotFoundException - if the resource is not found. throws: IOException - if an error occurs during an input operation. since: 2.2 |
openReader | public static LineNumberReader openReader(Object caller, String name) throws IOException(Code) | | Provides a
BufferedReader for named test data. The buffered reader is provided as
an
LineNumberReader instance, which is useful for displaying line numbers where
error occur. It is the caller responsability to close this reader after usage.
Parameters: caller - The class of the object associated with named data. Parameters: name - of test data to load. The buffered reader. throws: FileNotFoundException - if the resource is not found. throws: IOException - if an error occurs during an input operation. since: 2.2 |
openStream | public static InputStream openStream(Object caller, String name) throws IOException(Code) | | Provides a non-null
InputStream for named test data.
It is the caller responsability to close this stream after usage.
Parameters: caller - Calling class or object used to locate test-data . Parameters: name - of test data to load. The input stream. throws: FileNotFoundException - if the resource is not found. throws: IOException - if an error occurs during an input operation. since: 2.2 |
run | public void run()(Code) | | Deletes all temporary files. This method is invoked automatically at shutdown time and
should not be invoked directly. It is public only as an implementation side effect.
|
temp | public static File temp(Object caller, String name) throws IOException(Code) | | Creates a temporary file with the given name. The file will be created in the
test-data directory and will be deleted on exit.
Parameters: caller - Calling class or object used to locate test-data . Parameters: A - base name for the temporary file. The temporary file in the test-data directory. throws: IOException - if the file can't be created. |
unzipFile | public static void unzipFile(Object caller, String name) throws IOException(Code) | | Unzip a file in the
test-data directory. The zip file content is inflated in place,
i.e. inflated files are written in the same
test-data directory. If a file to be
inflated already exists in the
test-data directory, then the existing file is left
untouched and the corresponding ZIP entry is silently skipped. This approach avoid the
overhead of inflating the same files many time if this
unzipFile method is invoked
before every tests.
Inflated files will be automatically
if and only if they have been modified. Callers don't need to worry about cleanup,
because the files are inflated in the
target/.../test-data directory, which
is not versionned by SVN and is cleaned by Maven on
mvn clean execution.
Parameters: caller - The class of the object associated with named data. Parameters: name - The file name to unzip in place. throws: FileNotFoundException - if the specified zip file is not found. throws: IOException - if an error occurs during an input or output operation. since: 2.2 |
url | public static URL url(Object caller, String path) throws FileNotFoundException(Code) | | Access to
(caller, path) as a non-null
URL . At the difference of
getResource , this method throws an exception if
the resource is not found. This provides a more explicit explanation about the failure
reason than the infamous
NullPointerException .
Parameters: caller - Calling class or object used to locate test-data . Parameters: path - Path to file in test-data . The URL to the test-data resource. throws: FileNotFoundException - if the resource is not found. since: 2.2 |
|
|