All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jadex.bdi.testcases.goals.RecurTestPlan Maven / Gradle / Ivy

Go to download

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