package com.indignado.logicbricks.systems.controllers; import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.utils.ObjectMap; import com.indignado.logicbricks.components.IdentityComponent; import com.indignado.logicbricks.core.Script; import com.indignado.logicbricks.core.actuators.Actuator; import com.indignado.logicbricks.core.bricks.base.BaseTest; import com.indignado.logicbricks.core.controllers.ScriptController; import com.indignado.logicbricks.core.sensors.AlwaysSensor; import com.indignado.logicbricks.core.sensors.Sensor; import com.indignado.logicbricks.systems.sensors.base.ActuatorTest; import com.indignado.logicbricks.utils.builders.controllers.ScriptControllerBuilder; import com.indignado.logicbricks.utils.builders.sensors.AlwaysSensorBuilder; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertTrue; /** * @author Rubentxu. */ public class ScriptControllerSystemTest extends BaseTest{ private boolean checkScript; private Entity player; @Before public void setup() { checkScript = false; entityBuilder.initialize(); IdentityComponent identityPlayer = entityBuilder.getComponent(IdentityComponent.class); identityPlayer.tag = "Player"; AlwaysSensor sensor =builders.getBrickBuilder(AlwaysSensorBuilder.class) .setName("SensorScript") .getBrick(); Script script = new Script() { @Override public void execute(ScriptController controller, ObjectMap<String, Sensor> sensors, ObjectMap<String, Actuator> actuators) { checkScript = true; } }; ScriptController controller =builders.getBrickBuilder(ScriptControllerBuilder.class) .setScript(script) .setName("playerController") .getBrick(); ActuatorTest actuatorTest = new ActuatorTest(); player = entityBuilder .addController(controller, "Default") .connectToSensor(sensor) .connectToActuator(actuatorTest) .getEntity(); } @Test public void ScriptControllerTest() { engine.addEntity(player); engine.update(1); assertTrue(checkScript); } }