package eis.eis2java; import static org.junit.Assert.assertEquals; import org.junit.Test; import eis.eis2java.environment.AbstractEnvironment; import eis.exceptions.AgentException; import eis.exceptions.EntityException; import eis.exceptions.ManagementException; import eis.exceptions.RelationException; import eis.iilang.Action; import eis.iilang.EnvironmentState; /** * Unit tests for AbstractEnv * * @author W.Pasman 5nov14 * */ public class AbstractEnvTest { @SuppressWarnings("serial") class MyEnv extends AbstractEnvironment { public MyEnv() throws ManagementException { setState(EnvironmentState.PAUSED); } @Override protected boolean isSupportedByEnvironment(Action action) { return true; } @Override protected boolean isSupportedByType(Action action, String type) { return true; } public void doAddEntity() throws EntityException { addEntity("entityname", "entity"); } } // @Test disabled until we can fix #42 public void testAddEntity() throws EntityException, ManagementException { MyEnv env = new MyEnv(); env.doAddEntity(); assertEquals(1, env.getEntities().size()); assertEquals("entity", env.getEntity("entityname")); } @Test public void testFreePair() throws EntityException, AgentException, RelationException, ManagementException { MyEnv env = new MyEnv(); env.doAddEntity(); assertEquals(1, env.getEntities().size()); env.registerAgent("agentname"); assertEquals(1, env.getAgents().size()); env.associateEntity("agentname", "entityname"); assertEquals(1, env.getAssociatedEntities("agentname").size()); env.freePair("agentname", "entityname"); // check that entity was not deleted assertEquals(1, env.getEntities().size()); // and that the association was deleted assertEquals(0, env.getAssociatedEntities("agentname").size()); } }