package jadex.bdi.testcases.plans; import jadex.base.test.TestReport; import jadex.bdi.runtime.IGoal; import jadex.bdi.runtime.Plan; /** * Test plan priorities. */ public class PlanPrioritiesTesterPlan extends Plan { /** * The body method is called on the * instatiated plan instance from the scheduler. */ public void body() { TestReport tr = new TestReport("#1", "Test plan priorities."); IGoal goal = createGoal("test"); dispatchSubgoalAndWait(goal); Integer[] results = (Integer[])getBeliefbase().getBeliefSet("results").getFacts(); boolean succ = results.length==3; for(int i=0; succ && i<results.length-1; i++) { succ = results[i].intValue()>=results[i+1].intValue(); } if(succ) tr.setSucceeded(true); else tr.setReason("Plan priorities were not respected."); getBeliefbase().getBeliefSet("testcap.reports").addFact(tr); } }