Class TestData
- All Implemented Interfaces:
Runnable
test-data directories provided in the sample-data module. This
directory is shared by test suites in other modules.
This file has to live in the org.geotools root package in order to get access to the
org/geotools/test-data directory. If you don't need this directory, then use the
TestData class provided in the org.geotools.resources directory.
- Since:
- 2.2
- Author:
- Martin Desruisseaux
-
Field Summary
Fields inherited from class TestData
EXTENSIVE_TEST_KEY, INTERACTIVE_TEST_KEY -
Method Summary
Modifier and TypeMethodDescriptionstatic FileCopies the named resources from thesample-datamodule to thetest-datadirectory in an other module.static FileSee the other copy, this one accepts a target directory name inside "test-data" (useful for test with directory containing spaces)static FileAccess togetResource(name)as a non-nullFile.static ReadableByteChannelopenChannel(String name) Provides a channel for named test data.static LineNumberReaderopenReader(String name) Provides aBufferedReaderfor named test data.static InputStreamopenStream(String name) Provides a non-nullInputStreamfor named test data.static URLAccess togetResource(name)as a non-nullURL.Methods inherited from class TestData
deleteOnExit, deleteOnExit, file, getResource, isBaseJavaPlatform, isExtensiveTest, isInteractiveTest, isMediaLibAvailable, openChannel, openReader, openStream, run, temp, unzip, unzipFile, url
-
Method Details
-
url
Access togetResource(name)as a non-nullURL. At the difference ofgetResource, this method throws an exception if the resource is not found. This provides a more explicit explanation about the failure reason than the infamousNullPointerException.- Parameters:
name- Path to file inorg/geotools/test-data.- Returns:
- The URL to the
test-dataresource. - Throws:
FileNotFoundException- if the resource is not found.
-
file
Access togetResource(name)as a non-nullFile. You can access thetest-datadirectory with:TestData.file(null);
- Parameters:
name- Path to file inorg/geotools/test-data.- Returns:
- The file to the
test-dataresource. - Throws:
FileNotFoundException- if the file is not found.IOException- if the resource can't be fetched for an other reason.
-
openStream
Provides a non-nullInputStreamfor named test data. It is the caller responsability to close this stream after usage.- Parameters:
name- Path to file inorg/geotools/test-data.- Returns:
- The input stream.
- Throws:
FileNotFoundException- if the resource is not found.IOException- if an error occurs during an input operation.
-
openReader
Provides aBufferedReaderfor named test data. The buffered reader is provided as anLineNumberReaderinstance, which is useful for displaying line numbers where error occur. It is the caller responsability to close this reader after usage.- Parameters:
name- Path to file inorg/geotools/test-data.- Returns:
- The buffered reader.
- Throws:
FileNotFoundException- if the resource is not found.IOException- if an error occurs during an input operation.
-
openChannel
Provides a channel for named test data. It is the caller responsability to close this chanel after usage.- Parameters:
name- Path to file inorg/geotools/test-data.- Returns:
- The chanel.
- Throws:
FileNotFoundException- if the resource is not found.IOException- if an error occurs during an input operation.
-
copy
Copies the named resources from thesample-datamodule to thetest-datadirectory in an other module. For example ifTestData.copy(this, "foo.txt")is invoked inside a test suite in theorg.geotools.foopackage, then this method copiesorg/geotools/test-data/foo.txt(fromsample-datamodule) toorg/geotools/foo/test-data/foo.txt(in thefoomodule).This method is useful when a test case needs to access a resource through a
File, for example because it want to open it usingRandomAccess. Because the resources provided in thesample-datamodule are available to other modules as a JAR file, other modules can only access them through anURLunless they copy them in their owntest-datadirectory.If the named file already exists in the caller
test-datadirectory, then this method does nothing. It make it safe to invoke this method many time in a test suite, since this method should not copy the file more than once for a given JVM execution.The file will be deleted on exit if and only if it has been modified. Callers don't need to worry about cleanup, because the files are copied in the
target/.../test-datadirectory, which is not versioned by Git and is cleaned by Maven onmvn cleanexecution.- Parameters:
caller- Calling class or object used to locate the destinationtest-data.name- Path to file inorg/geotools/test-data.- Returns:
- The file to the
org/geotools/caller-package/test-dataresource copy, returned for convenience. - Throws:
FileNotFoundException- if the file is not found.IOException- if the resource can't be fetched for an other reason.
-
copy
See the other copy, this one accepts a target directory name inside "test-data" (useful for test with directory containing spaces)- Throws:
IOException
-