Author: oberhack
Date: Sat Aug 14 04:35:30 2004
New Revision: 36383

Added:
   avalon/trunk/central/laboratory/studio/eclipse/core/test/
   avalon/trunk/central/laboratory/studio/eclipse/core/test/org/
   avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/
   avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/
   avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/AllCoreTests.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/DirectoryTemplateManagerTest.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ProjectManagerBasicTest.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ResourceTemplateManagerTest.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/AllTests.java
   
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/CreateNewProjectWizardMock.java
Log:
initial testsuite for MetroStudioCore

Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/AllCoreTests.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/AllCoreTests.java
 Sat Aug 14 04:35:30 2004
@@ -0,0 +1,43 @@
+/*

+

+   Copyright 2004. The Apache Software Foundation.

+

+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.apache.metro.studio.eclipse.core.templateengine.test;

+

+import junit.framework.Test;

+import junit.framework.TestSuite;

+

+/**

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team</a>

+ * 12.08.2004

+ * last change:

+ * 

+ */

+public class AllCoreTests

+{

+

+    public static Test suite()

+    {

+        TestSuite suite = new TestSuite(

+                "Test for org.apache.metro.studio.eclipse.core.templateengine");

+        //$JUnit-BEGIN$

+        suite.addTestSuite(ProjectManagerBasicTest.class);

+        suite.addTestSuite(DirectoryTemplateManagerTest.class);

+        suite.addTestSuite(ResourceTemplateManagerTest.class);

+        //$JUnit-END$

+        return suite;

+    }

+}


Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/DirectoryTemplateManagerTest.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/DirectoryTemplateManagerTest.java
 Sat Aug 14 04:35:30 2004
@@ -0,0 +1,290 @@
+

+/*

+

+   Copyright 2004. The Apache Software Foundation.

+

+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.apache.metro.studio.eclipse.core.templateengine.test;

+

+import java.io.File;

+import java.io.FileWriter;

+import java.io.IOException;

+import java.io.Writer;

+import java.util.Vector;

+

+import junit.framework.TestCase;

+

+import org.apache.metro.studio.eclipse.core.MetroStudioCore;

+import org.apache.metro.studio.eclipse.core.templateengine.Directory;

+import org.apache.metro.studio.eclipse.core.templateengine.DirectoryTemplate;

+import org.apache.metro.studio.eclipse.core.templateengine.DirectoryTemplateManager;

+import org.apache.metro.studio.eclipse.core.templateengine.ProjectManager;

+import org.eclipse.core.resources.IProject;

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.jdt.core.IJavaProject;

+import org.eclipse.jdt.core.IPackageFragmentRoot;

+import org.eclipse.jdt.core.JavaCore;

+import org.eclipse.jdt.core.JavaModelException;

+

+import com.thoughtworks.xstream.XStream;

+

+/**

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team</a>

+ * 11.08.2004

+ * last change:

+ * 

+ */

+public class DirectoryTemplateManagerTest extends TestCase

+{

+

+    static IProject project;

+    final static String configFileLocation = 
MetroStudioCore.getDefault().getPluginLocation().toString() + 
"config/directories.test_cfg";

+    

+    public static void main(String[] args)

+    {

+    }

+

+    /**

+     * Create DirectoryTemplates and store/reload them to/from file.

+     *

+     */

+    public final void testCreateLoadConfigFile()

+    {

+        XStream xstream = new XStream();

+        DirectoryTemplateManager.initXStream(xstream);

+        DirectoryTemplateManager m = new DirectoryTemplateManager();

+        

+        m.addDirectoryTemplate(createStandardBlock());        

+        m.addDirectoryTemplate(createImplApiBlock()); 

+        

+        try

+        {

+            Writer out = new FileWriter(configFileLocation);

+            xstream.toXML(m, out);

+        } catch (IOException e)

+        {

+            fail("unable to write config file");

+        }

+        

+        m = DirectoryTemplateManager.load(configFileLocation);

+        

+        assertNotNull("Could not reload xml file", m);

+

+    }

+

+    /**

+     * Create the directory structure in project.

+     * Add standard libraries 

+     *

+     */

+    public final void testCreateStandardBlockProject()

+    {

+        project = ProjectManager.createBlockProject("StandardBlockTest");

+        DirectoryTemplateManager m = 
DirectoryTemplateManager.load(configFileLocation);

+        m.create("StandardBlock", project.getProject());

+        

+        assertEquals("Project was not created", true, (new 
File(project.getLocation().toString()).exists()));

+        assertEquals("Sourcefolder not created", true, (new 
File(project.getLocation().toString()+"/src").exists()));

+        assertEquals("Subfolder was not created", true, (new 
File(project.getLocation().toString()+"/src/BLOCK-INF").exists()));

+        assertEquals("Test folder was not created", true, (new 
File(project.getLocation().toString()+"/test").exists()));

+        assertEquals("Docs folder was not created", true, (new 
File(project.getLocation().toString()+"/docs").exists()));

+    }

+

+    /**

+     * Test, whether libraries are added

+     *

+     */

+    public final void testStandardBlockClasspath()

+    {

+        int libCount=0;

+        int rootCount=0;

+        int sourceCount=0;

+        

+        DirectoryTemplateManager m = 
DirectoryTemplateManager.load(configFileLocation);

+        DirectoryTemplate template = m.getTemplate("StandardBlock");

+        Vector libNames = m.collectLibraries(template, m.getRepositoryPath());

+        Vector sourceNames = m.collectSourceFolders(template, project);

+        

+        try

+        {

+            IJavaProject javaProject = JavaCore.create(project);

+            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();

+

+            for(int i=0; i<roots.length; i++)

+            {

+                rootCount++;

+                if(roots[i].isArchive())

+                {

+                    libCount++;

+                } else {

+                    sourceCount++;

+                }

+            }

+        } catch (JavaModelException e)

+        {

+            fail("can't retrieve project libraries");

+        }

+        

+        assertEquals("not all required libs are created", libNames.size(), libCount);

+        assertEquals("not all required sourcedirectories are created", 
sourceNames.size(), sourceCount);

+        

+        ProjectManager.delete(project);

+    }

+

+    /**

+     * Create the directory structure in project.

+     * Add standard libraries 

+     *

+     */

+    public final void testCreateImplApiBlockProject()

+    {

+        project = ProjectManager.createBlockProject("ImplApiTest");

+        DirectoryTemplateManager m = 
DirectoryTemplateManager.load(configFileLocation);

+        m.create("ImplApiBlock", project.getProject());

+        

+        assertEquals("Project was not created", true, (new 
File(project.getLocation().toString()).exists()));

+        assertEquals("Implfolder not created", true, (new 
File(project.getLocation().toString()+"/impl").exists()));

+        assertEquals("Apifolder not created", true, (new 
File(project.getLocation().toString()+"/api").exists()));

+        assertEquals("Subfolder was not created", true, (new 
File(project.getLocation().toString()+"/impl/BLOCK-INF").exists()));

+        assertEquals("Test folder was not created", true, (new 
File(project.getLocation().toString()+"/test").exists()));

+        assertEquals("Docs folder was not created", true, (new 
File(project.getLocation().toString()+"/docs").exists()));

+    }

+

+    /**

+     * Test, whether libraries are added

+     *

+     */

+    public final void testImplApiBlockClasspath()

+    {

+        int libCount=0;

+        int rootCount=0;

+        int sourceCount=0;

+        

+        DirectoryTemplateManager m = 
DirectoryTemplateManager.load(configFileLocation);

+        DirectoryTemplate template = m.getTemplate("ImplApiBlock");

+        Vector libNames = m.collectLibraries(template, m.getRepositoryPath());

+        Vector sourceNames = m.collectSourceFolders(template, project);

+        

+        try

+        {

+            IJavaProject javaProject = JavaCore.create(project);

+            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();

+

+            for(int i=0; i<roots.length; i++)

+            {

+                rootCount++;

+                if(roots[i].isArchive())

+                {

+                    libCount++;

+                } else {

+                    sourceCount++;

+                }

+            }

+        } catch (JavaModelException e)

+        {

+            fail("can't retrieve project libraries");

+        }

+        

+        assertEquals("not all required libs are created", libNames.size(), libCount);

+        assertEquals("not all required sourcedirectories are created", 
sourceNames.size(), sourceCount);

+    }

+

+    /**

+     * Delete the project

+     *

+     */

+    public final void testDeleteProject()

+    {

+        String path = project.getLocation().toString();

+        try

+        {

+            

+            project.delete(true, true, null);

+        } catch (CoreException e)

+        {

+            fail("can't delete project");

+        }

+        assertEquals("project not deleted", false, new File(path).exists());

+    }

+    

+    /**

+     * 

+     */

+    private DirectoryTemplate createStandardBlock()

+    {

+        DirectoryTemplate dt = new DirectoryTemplate();

+        dt.setId("StandardBlock");

+

+        

+        Directory d = new Directory();

+        d.setName("src");

+        d.setSource(true);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("src/BLOCK-INF");

+        d.setSource(false);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("test");

+        d.setSource(true);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("docs");

+        d.setSource(false);

+        dt.addDirectory(d);

+        

+        return dt;

+    }

+    

+    /**

+     * 

+     */

+    private DirectoryTemplate createImplApiBlock()

+    {

+        DirectoryTemplate dt = new DirectoryTemplate();

+        dt.setId("ImplApiBlock");

+

+        Directory d = new Directory();

+        d.setName("impl");

+        d.setSource(true);

+        dt.addDirectory(d);

+

+        d = new Directory();

+        d.setName("api");

+        d.setSource(true);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("impl/BLOCK-INF");

+        d.setSource(false);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("test");

+        d.setSource(true);

+        dt.addDirectory(d);

+        

+        d = new Directory();

+        d.setName("docs");

+        d.setSource(false);

+        dt.addDirectory(d);

+        

+        return dt;

+    }

+

+}


Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ProjectManagerBasicTest.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ProjectManagerBasicTest.java
      Sat Aug 14 04:35:30 2004
@@ -0,0 +1,61 @@
+/*

+

+   Copyright 2004. The Apache Software Foundation.

+

+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.apache.metro.studio.eclipse.core.templateengine.test;

+

+import junit.framework.TestCase;

+

+import org.apache.metro.studio.eclipse.core.templateengine.ProjectManager;

+import org.apache.metro.studio.eclipse.core.templateengine.ResourceTemplate;

+import org.eclipse.core.resources.IProject;

+

+/**

+ * This test class only tests to create Metro projects with different

+ * natures.

+ * Those methods are than needed by other testcases:

+ *   - DirectoryTemplateMangerTest

+ *   - ResourceTemplateManagerTest

+ *   - ProjectManagerTest

+ * The ProjectMangerTest class is testing higher level methods than.

+ * 

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team</a>

+ * 11.08.2004

+ * last change: 

+ * 

+ */

+public class ProjectManagerBasicTest extends TestCase

+{

+

+    private static IProject project;

+    

+    public static void main(String[] args)

+    {

+    }

+

+    public final void testCreateBlockProject()

+    {

+        ResourceTemplate template;

+        

+        project = ProjectManager.createBlockProject("EmptyBlock");

+    }

+

+    public final void testDelete()

+    {

+        ProjectManager.delete(project);

+    }

+

+}


Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ResourceTemplateManagerTest.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/core/templateengine/test/ResourceTemplateManagerTest.java
  Sat Aug 14 04:35:30 2004
@@ -0,0 +1,131 @@
+/*

+

+ Copyright 2004. The Apache Software Foundation.

+

+ 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.apache.metro.studio.eclipse.core.templateengine.test;

+

+import java.io.File;

+import java.io.FileWriter;

+import java.io.IOException;

+import java.io.Writer;

+

+import junit.framework.TestCase;

+

+import org.apache.metro.studio.eclipse.core.MetroStudioCore;

+import org.apache.metro.studio.eclipse.core.templateengine.DirectoryTemplateManager;

+import org.apache.metro.studio.eclipse.core.templateengine.ProjectManager;

+import org.apache.metro.studio.eclipse.core.templateengine.Resource;

+import org.apache.metro.studio.eclipse.core.templateengine.ResourceTemplate;

+import org.apache.metro.studio.eclipse.core.templateengine.ResourceTemplateManager;

+import org.apache.metro.studio.eclipse.core.tools.DynProjectParam;

+import org.eclipse.core.resources.IProject;

+

+import com.thoughtworks.xstream.XStream;

+import com.thoughtworks.xstream.io.xml.DomDriver;

+

+/**

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team </a>

+ *         12.08.2004 last change:

+ *  

+ */

+public class ResourceTemplateManagerTest extends TestCase

+{

+    final static String directoryLocation = 
DirectoryTemplateManagerTest.configFileLocation;

+

+    final static String baseDir = MetroStudioCore.getDefault()

+            .getPluginLocation().toString();

+

+    final static String resourcesLocation = baseDir

+            + "config/resources.test_cfg";

+

+    static IProject project;

+

+    public static void main(String[] args)

+    {

+    }

+

+    public final void testCreateResourceTemplate()

+    {

+        XStream xstream = new XStream(new DomDriver());

+        ResourceTemplateManager.initXStream(xstream);

+        ResourceTemplateManager rm = new ResourceTemplateManager();

+

+        // import DirectoryTemplates, which are created in

+        // DirectoryTemplatemanagerTest

+        DirectoryTemplateManager dm = DirectoryTemplateManager

+                .load(directoryLocation);

+        dm.addXStreamAliases(xstream);

+        rm.importDirectoryTemplates(dm);

+

+        rm.addResourceTemplate(createHelloWorldResources());

+

+        try

+        {

+            Writer out = new FileWriter(resourcesLocation);

+            xstream.toXML(rm, out);

+        } catch (IOException e)

+        {

+            fail("unable to write config file");

+        }

+

+        rm = ResourceTemplateManager.load(resourcesLocation);

+

+        assertNotNull("Could not reload xml file", rm);

+

+    }

+

+    public final void testCreateHelloWorldProject()

+    {

+        project = ProjectManager.createBlockProject("HelloWorld Tutorial");

+        ResourceTemplateManager rm = ResourceTemplateManager

+                .load(resourcesLocation);

+        rm.create(project, "HelloWorld Tutorial", new DynProjectParam());

+        

+        String testpath;

+        assertEquals("Project was not created", true, (new 
File(project.getLocation().toString()).exists()));

+        testpath = "/src/tutorial/HelloComponent.java";

+        assertEquals("HelloComponent not created", true, (new 
File(project.getLocation().toString()+testpath).exists()));

+        testpath = "/src/BLOCK-INF/block.xml";

+        assertEquals("block.xml not created", true, (new 
File(project.getLocation().toString()+testpath).exists()));

+

+        ProjectManager.delete(project);

+    }

+

+    /**

+     * @return

+     */

+    private ResourceTemplate createHelloWorldResources()

+    {

+        ResourceTemplate rt = new ResourceTemplate();

+        rt.setTemplateId("HelloWorld Tutorial");

+        rt.setDirectoryType("StandardBlock");

+

+        Resource r = new Resource();

+        r.setRootSegment("src");

+        r.setSourceFilePathName(baseDir+"templates/hello/HelloComponent.java");

+        r.setPackageName("tutorial");

+        rt.addResource(r);

+

+        r = new Resource();

+        r.setRootSegment("src/BLOCK-INF");

+        r.setSourceFilePathName(baseDir+"templates/hello/block.xml");

+        r.setPackageName("");

+        rt.addResource(r);

+

+        return rt;

+    }

+

+}
\ No newline at end of file

Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/AllTests.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/AllTests.java
       Sat Aug 14 04:35:30 2004
@@ -0,0 +1,41 @@
+/*

+

+   Copyright 2004. The Apache Software Foundation.

+

+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.apache.metro.studio.eclipse.ui.wizard.test;

+

+import junit.framework.Test;

+import junit.framework.TestSuite;

+

+/**

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team</a>

+ * 14.08.2004

+ * last change:

+ * 

+ */

+public class AllTests

+{

+

+    public static Test suite()

+    {

+        TestSuite suite = new TestSuite(

+                "Test for org.apache.metro.studio.eclipse.ui.wizard.test");

+        //$JUnit-BEGIN$

+        suite.addTestSuite(CreateNewProjectWizardMock.class);

+        //$JUnit-END$

+        return suite;

+    }

+}


Added: 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/CreateNewProjectWizardMock.java
==============================================================================
--- (empty file)
+++ 
avalon/trunk/central/laboratory/studio/eclipse/core/test/org/apache/metro/studio/eclipse/ui/wizard/test/CreateNewProjectWizardMock.java
     Sat Aug 14 04:35:30 2004
@@ -0,0 +1,80 @@
+/*

+

+   Copyright 2004. The Apache Software Foundation.

+

+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.apache.metro.studio.eclipse.ui.wizard.test;

+

+import java.util.Hashtable;

+

+import junit.framework.TestCase;

+

+import org.apache.metro.facility.presentationservice.api.ViewEventService;

+import org.apache.metro.facility.presentationservice.impl.PresentationEvent;

+import org.apache.metro.facility.presentationservice.impl.PresentationServiceFactory;

+import org.apache.metro.studio.eclipse.core.templateengine.ResourceTemplate;

+import org.apache.metro.studio.eclipse.ui.controller.CreateNewProjectWizardController;

+import org.eclipse.core.resources.IProject;

+

+/**

+ * @author <a href="mailto:[EMAIL PROTECTED]">Metro Development Team</a>

+ * 11.08.2004

+ * last change:

+ * 

+ */

+public class CreateNewProjectWizardMock extends TestCase

+{

+

+    private static IProject project;

+    private ViewEventService service;

+    public final String TOPIC = "CreateNewProjectWizard"; 

+    

+    public static void main(String[] args)

+    {

+    }

+

+    /**

+     * This test is done here to test the functionality of the presentation service

+     * All tests of template creation is done in MetroStudioCore in detail.

+     */

+    public final void testCreateHelloWorldProject()

+    {

+        ResourceTemplate template;

+        new CreateNewProjectWizardController().initializeListeners();

+

+               try

+        {

+            service = PresentationServiceFactory.getViewEventService();

+            Hashtable value = new Hashtable();

+            

+            // mock the "wizard page created event" to get all ResourceTemplate names

+            

+            // mock the "template selected event" in TemplateSelectionWizardPage

+            value.put("selectedTemplate", "HelloWorld Tutorial");

+            PresentationEvent event = new PresentationEvent(this, TOPIC + 
".exampleProjectList", value);

+            event = service.clicked(event);

+            

+            // mock the "template apply event" in NewProjectWizard

+            value.put("projectName", "HelloWorld Tutorial");

+            event = new PresentationEvent(this, TOPIC + ".applyButton", value);

+            event = service.clicked(event);

+

+        } catch (Exception e)

+        {

+            fail("could not create HelloWorld Project");

+        }

+       }

+

+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to