package org.oddjob.monitor.contexts;
import junit.framework.TestCase;
import org.oddjob.Oddjob;
import org.oddjob.monitor.context.ContextInitialiser;
import org.oddjob.monitor.context.ExplorerContext;
import org.oddjob.monitor.model.ExplorerContextImpl;
import org.oddjob.monitor.model.MockExplorerModel;
import org.oddjob.util.ThreadManager;
public class ContextInitializerTest extends TestCase {
class OurInitialiser implements ContextInitialiser {
public void initialise(ExplorerContext context) {
if (context.getParent() == null) {
context.setValue("fruit", "apple");
}
else {
context.setValue("fruit", "orange");
}
}
}
class OurModel extends MockExplorerModel {
@Override
public Oddjob getOddjob() {
return new Oddjob();
}
@Override
public ThreadManager getThreadManager() {
return null;
}
@Override
public ContextInitialiser[] getContextInitialisers() {
return new ContextInitialiser[] {
new OurInitialiser()
};
}
}
public void testInFirstLevel() {
ExplorerContext context = new ExplorerContextImpl(new OurModel());
assertEquals("apple", context.getValue("fruit"));
}
public void testSecondLevel() {
ExplorerContext context = new ExplorerContextImpl(new OurModel());
ExplorerContext next = context.addChild(new Object());
assertEquals("orange", next.getValue("fruit"));
}
}