
jadex.bdi.testcases.goals.RecurTestPlan Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-applications-bdi Show documentation
Show all versions of jadex-applications-bdi Show documentation
The Jadex BDI applications package contain
several example applications, benchmarks and
testcases using BDI agents.
The newest version!
package jadex.bdi.testcases.goals;
import jadex.base.test.TestReport;
import jadex.bdi.runtime.IGoal;
import jadex.bdi.runtime.Plan;
/**
* Test recur features of goals.
*/
public class RecurTestPlan extends Plan
{
/**
* Plan code.
*/
public void body()
{
// Dispatch goals.
IGoal perf = createGoal("perf");
IGoal achi = createGoal("achi");
IGoal quer = createGoal("quer");
IGoal perf2 = createGoal("perf2");
dispatchSubgoal(perf);
dispatchSubgoal(achi);
dispatchSubgoal(quer);
dispatchSubgoal(perf2);
// Check state of goals when no plan is available.
waitFor(50);
TestReport report = new TestReport("perform_paused", "Test if perform goal continues when no plan is found.");
if(perf.isActive())
report.setSucceeded(true);
else
report.setReason("Goal not active.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("achieve_paused", "Test if achieve goal continues when no plan is found.");
if(achi.isActive())
report.setSucceeded(true);
else
report.setReason("Goal not active.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("query_paused", "Test if query goal continues when no plan is found.");
if(quer.isActive())
report.setSucceeded(true);
else
report.setReason("Goal not active.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("perform2_paused", "Test if perform goal continues when no plan is found.");
if(perf2.isActive())
report.setSucceeded(true);
else
report.setReason("Goal not active.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
// Check state when plans are applicable.
getBeliefbase().getBelief("context").setFact(Boolean.TRUE);
// perf.setRecur(false); // Necessary for perform goal to finish after plan execution.
waitFor(250);
report = new TestReport("perform_succeeded", "Test if perform goal succeeds after plan is found.");
if(perf.isSucceeded())
report.setSucceeded(true);
else
report.setReason("Goal not succeeded.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("achieve_succeeded", "Test if achieve goal succeeds after plan is found.");
if(achi.isSucceeded())
report.setSucceeded(true);
else
report.setReason("Goal not succeeded.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("query_succeeded", "Test if query goal succeeds after plan is found.");
if(quer.isSucceeded())
report.setSucceeded(true);
else
report.setReason("Goal not succeeded.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
report = new TestReport("perform2_succeeded", "Test if perform goal succeeds after plan is found.");
if(perf2.isSucceeded())
report.setSucceeded(true);
else
report.setReason("Goal not succeeded.");
getBeliefbase().getBeliefSet("testcap.reports").addFact(report);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy