FileDocCategorySizeDatePackage
GroupsTestCase.javaAPI DocApache Axis 1.44467Sat Apr 22 18:57:26 BST 2006test.wsdl.groups

GroupsTestCase

public class GroupsTestCase extends TestCase
This tests the file generation of only the items that are referenced in WSDL
author
Steve Green (steve.green@epok.net)

Fields Summary
Constructors Summary
public GroupsTestCase(String name)

        super(name);
    
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.StringgetPrefix(java.lang.String parent)

        if (parent == null || parent.length() == 0) {
            return "";
        }
        else {
            return parent + File.separator;
        }
    
protected java.lang.StringrootDir()
The directory containing the files that should exist.

        return "build" + File.separator + "work" + File.separator + 
                "test" + File.separator + "wsdl" + File.separator +
                "groups";
    
protected java.util.SetshouldExist()
List of files which should be generated.

        HashSet set = new HashSet();
        set.add("GroupsTestCase.java");
        set.add("SomeType.java");
        return set;
    
protected java.util.SetshouldNotExist()
List of files which may or may not be generated.

        HashSet set = new HashSet();
        set.add("SomeGroup.java");
        return set;
    
public voidtestGroups()


        // Test for the proper files

        String rootDir = rootDir();
        Set shouldExist = shouldExist();
        Set shouldNotExist = shouldNotExist();

        // open up the output directory and check what files exist.
        File outputDir = new File(rootDir);
        
        String[] files = getPaths(outputDir, null);

        for (int i = 0; i < files.length; ++i) {
            if (shouldExist.contains(files[i])) {
                shouldExist.remove(files[i]);
            } 
            else if (shouldNotExist.contains(files[i])) {
                fail("The following file should not exist in " + rootDir +
			", but does:  " + files[i]);
            }
        }

        if (shouldExist.size() > 0) {
            fail("The following files should exist in " + rootDir + 
                ", but do not:  " + shouldExist);
        }

    	// Test for the proper members
    
        Class ourClass = Class.forName("test.wsdl.groups.SomeType");
        ourClass.getDeclaredMethod("getA", null);
        ourClass.getDeclaredMethod("getB", null);
        ourClass.getDeclaredMethod("getZ", null);

        return;