package org.oddjob.monitor.model; import java.util.concurrent.Executor; import junit.framework.TestCase; import org.oddjob.Oddjob; import org.oddjob.arooa.xml.XMLConfiguration; import org.oddjob.monitor.context.ContextInitialiser; import org.oddjob.monitor.context.ExplorerContext; import org.oddjob.util.MockThreadManager; import org.oddjob.util.ThreadManager; public class JobTreeNodeTest extends TestCase { class OurModel extends MockExplorerModel { Oddjob oddjob; @Override public Oddjob getOddjob() { return oddjob; } @Override public ThreadManager getThreadManager() { return new MockThreadManager(); } @Override public ContextInitialiser[] getContextInitialisers() { return new ContextInitialiser[0]; } } class InlineExecutor implements Executor { @Override public void execute(Runnable command) { command.run(); } } class OurContextFactory implements ExplorerContextFactory { @Override public ExplorerContext createFrom(ExplorerModel explorerModel) { return new MockExplorerContext() { @Override public ExplorerContext addChild(Object child) { return this; } }; } } public void testChildren() { String xml = "<oddjob>" + " <job>" + " <sequential/>" + " </job>" + "</oddjob>"; Oddjob oddjob = new Oddjob(); oddjob.setConfiguration(new XMLConfiguration("XML", xml)); oddjob.load(); OurModel explorerModel = new OurModel(); explorerModel.oddjob = oddjob; JobTreeModel treeModel = new JobTreeModel(new InlineExecutor()); JobTreeNode test = new JobTreeNode( explorerModel, treeModel, new InlineExecutor(), new OurContextFactory()); assertEquals(0, test.getChildCount()); test.setVisible(true); assertEquals(1, test.getChildCount()); test.setVisible(false); assertEquals(1, test.getChildCount()); test.setVisible(true); assertEquals(1, test.getChildCount()); test.destroy(); } }