blob: 91d5cbe2ba697e600d5342f906f8d1f0d23345ee [file] [log] [blame]
package org.eclipse.jst.ws.jaxws.dom.integration.tests.util;
import java.util.Collection;
import org.eclipse.jst.ws.jaxws.dom.integration.internal.util.LoadingWsProjectNodesCollector;
import org.eclipse.jst.ws.jaxws.dom.integration.navigator.ILoadingWsProject;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.IWebServiceProject;
import org.eclipse.jst.ws.jaxws.testutils.jmock.Mock;
import org.eclipse.jst.ws.jaxws.testutils.jmock.MockObjectTestCase;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
public class LoadingWsProjectNodesCollectorTest extends MockObjectTestCase
{
private TreeItem parentItem;
private TreeItem childItem;
private Mock<ILoadingWsProject> loadingProject;
private Shell treeShell;
private LoadingWsProjectNodesCollector collector;
@Override
protected void setUp() throws Exception
{
super.setUp();
collector = new LoadingWsProjectNodesCollector();
loadingProject = mock(ILoadingWsProject.class);
treeShell = new Shell();
final Tree parentTree = new Tree(treeShell, SWT.NONE);
parentItem = new TreeItem(parentTree, SWT.NONE);
childItem = new TreeItem(parentItem, SWT.NONE);
}
@Override
protected void tearDown() throws Exception
{
super.tearDown();
treeShell.dispose();
}
public void testLoadingProjectAsParent()
{
parentItem.setData(loadingProject.proxy());
childItem.setData(new Object());
verifyFoundItem(parentItem);
}
public void testLoadingProjectAsChild()
{
parentItem.setData(new Object());
childItem.setData(loadingProject.proxy());
verifyFoundItem(childItem);
}
public void testStopCollectingOnWebServiceProject()
{
parentItem.setData(mock(IWebServiceProject.class).proxy());
childItem.setData(loadingProject.proxy());
assertEquals("Collector did not stop when IWebServiceProject encoutered", 0, getLoadingProjectItems().size());
}
private void verifyFoundItem(final TreeItem expectedItem)
{
final Collection<TreeItem> items = getLoadingProjectItems();
assertEquals("One item expected", 1, items.size());
assertSame("Unexpected item", expectedItem, items.iterator().next());
}
private Collection<TreeItem> getLoadingProjectItems()
{
return collector.getLoadingWsProjects(new TreeItem[] { parentItem });
}
}