package jadex.bdi.testcases.misc;
import jadex.base.test.TestReport;
import jadex.bdi.runtime.Plan;
import jadex.bridge.CreationInfo;
import jadex.bridge.IComponentDescription;
import jadex.bridge.IComponentIdentifier;
import jadex.bridge.IComponentManagementService;
import jadex.commons.service.SServiceProvider;
/**
* Test start/termination flags work.
*/
public class FlagPlan extends Plan
{
/**
* The plan body.
*/
public void body()
{
IComponentManagementService cms = (IComponentManagementService)SServiceProvider.getService(
getScope().getServiceProvider(), IComponentManagementService.class).get(this);
TestReport tr = new TestReport("#1", "Start agent as suspended.");
CreationInfo ci = new CreationInfo("donothing", null, getComponentIdentifier());
ci.setSuspend(Boolean.TRUE);
IComponentIdentifier cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
IComponentDescription desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(IComponentDescription.STATE_SUSPENDED.equals(desc.getState()))
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not suspended: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#2", "Start agent as master.");
ci = new CreationInfo("donothing", null, getComponentIdentifier());
ci.setMaster(Boolean.TRUE);
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getMaster()!=null && desc.getMaster().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not master: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#3", "Start agent as daemon.");
ci = new CreationInfo("donothing", null, getComponentIdentifier());
ci.setDaemon(Boolean.TRUE);
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getDaemon()!=null && desc.getDaemon().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not daemon: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#4", "Start agent as autoshutdown.");
ci = new CreationInfo("donothing", null, getComponentIdentifier());
ci.setAutoshutdown(Boolean.TRUE);
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getAutoShutdown()!=null && desc.getAutoShutdown().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not autoshutdown: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#5", "Start agent as suspended.");
ci = new CreationInfo("suspend", null, getComponentIdentifier());
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(IComponentDescription.STATE_SUSPENDED.equals(desc.getState()))
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not suspended: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#6", "Start agent as master.");
ci = new CreationInfo("master", null, getComponentIdentifier());
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getMaster()!=null && desc.getMaster().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not master: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#7", "Start agent as daemon.");
ci = new CreationInfo("daemon", null, getComponentIdentifier());
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getDaemon()!=null && desc.getDaemon().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not daemon: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
tr = new TestReport("#8", "Start agent as autoshutdown.");
ci = new CreationInfo("autoshutdown", null, getComponentIdentifier());
cid = (IComponentIdentifier)cms.createComponent(null, "jadex/bdi/testcases/misc/Flag.agent.xml", ci , null).get(this);
desc = (IComponentDescription)cms.getComponentDescription(cid).get(this);
if(desc.getAutoShutdown()!=null && desc.getAutoShutdown().booleanValue())
{
tr.setSucceeded(true);
}
else
{
tr.setReason("Component not autoshutdown: "+desc);
}
getBeliefbase().getBeliefSet("testcap.reports").addFact(tr);
}
}