Methods Summary |
---|
protected java.lang.String[] | getPaths(java.io.File root, java.lang.String parent)This method returns a array of String file paths, located within the
supplied root directory. The string values are created relative to the
specified parent so that the names get returned in the form of
"file.java", "dir/file.java", "dir/dir/file.java", etc. This feature
asslows the various file specs to include files in sub-directories as
well as the root directory.
File files[] = root.listFiles();
if (files == null)
fail("Unable to get a list of files from " + root.getPath());
Set filePaths = new HashSet();
for(int i=0; i<files.length; i++) {
if (files[i].isDirectory()) {
String children[] = getPaths(files[i],
getPrefix(parent) + files[i].getName());
filePaths.addAll(Arrays.asList(children));
}
else {
filePaths.add(getPrefix(parent) + files[i].getName());
}
}
String paths[] = new String[filePaths.size()];
return (String[]) filePaths.toArray(paths);
|
protected java.lang.String | getPrefix(java.lang.String parent)
if (parent == null || parent.length() == 0) {
return "";
}
else {
return parent + File.separator;
}
|
protected abstract java.util.Set | mayExist()
|
protected abstract java.lang.String | rootDir()
|
protected abstract java.util.Set | shouldExist()
|
public void | testFileGen()
String rootDir = rootDir();
Set shouldExist = shouldExist();
Set mayExist = mayExist();
// open up the output directory and check what files exist.
File outputDir = new File(rootDir);
String[] files = getPaths(outputDir, null);
Vector shouldNotExist = new Vector();
for (int i = 0; i < files.length; ++i) {
if (shouldExist.contains(files[i])) {
shouldExist.remove(files[i]);
}
else if (mayExist.contains(files[i])) {
mayExist.remove(files[i]);
}
else {
shouldNotExist.add(files[i]);
}
}
if (shouldExist.size() > 0) {
fail("The following files should exist in " + rootDir +
", but do not: " + shouldExist);
}
if (shouldNotExist.size() > 0) {
fail("The following files should NOT exist in " + rootDir +
", but do: " + shouldNotExist);
}
|