/src/test/java/com/heavylead/views/concrete/gbui/GbuiTestCase.java
http://heavylead.googlecode.com/ · Java · 101 lines · 51 code · 20 blank · 30 comment · 0 complexity · 26bed6920874fa9c43d70a733db4d41e MD5 · raw file
- package com.heavylead.views.concrete.gbui;
-
- import junit.framework.TestCase;
-
- import com.google.inject.Guice;
- import com.google.inject.Injector;
- import com.heavylead.injection.HeavyLeadTestModule;
- import com.heavylead.wrappers.concrete.DisplaySystem;
- import com.heavylead.wrappers.interfaces.IDisplaySystem;
- import com.jme.input.InputHandler;
- import com.jme.util.Timer;
- import com.jmex.bui.BButton;
- import com.jmex.bui.BuiSystem;
- import com.jmex.bui.PolledRootNode;
- import com.jmex.bui.event.MouseEvent;
- import com.jmex.game.state.GameStateManager;
-
- /**
- * The Class GbuiTestCase.
- */
- public abstract class GbuiTestCase extends TestCase {
- /** The Constant TINY_TICK. */
- public static final float TINY_TICK = 0.1f;
-
- private static final int TEST_FREQUENCY = 60;
-
- private static final int TEST_DEPTH = 16;
-
- private static final int TEST_WIDTH = 10;
-
- private static final int TEST_HEIGHT = 10;
-
- private Injector _injector;
-
- /** The _input handler. */
- private InputHandler _inputHandler;
-
- /** The _display. */
- private IDisplaySystem _displaySystem;
-
- /**
- * Sets the up gbui.
- */
- protected final void setUpGbui() {
- _injector = Guice.createInjector(new HeavyLeadTestModule());
-
- _displaySystem = new DisplaySystem("LWJGL");
- _displaySystem.createWindow(TEST_WIDTH, TEST_HEIGHT, TEST_DEPTH, TEST_FREQUENCY, false);
-
- _inputHandler = new InputHandler();
-
- final PolledRootNode polledRootNode = new PolledRootNode(Timer.getTimer(),
- _inputHandler);
-
- BuiSystem.init(polledRootNode, "/data/gbui/heavylead.bss");
-
- GameStateManager.create();
- }
-
- /**
- * Tear down gbui.
- */
- protected final void tearDownGbui() {
- _displaySystem.close();
- }
-
- /**
- * Gets the injector.
- *
- * @return the injector
- */
- protected final Injector getInjector() {
- return _injector;
- }
-
- /**
- * Gets the input handler.
- *
- * @return the input handler
- */
- protected final InputHandler getInputHandler() {
- return _inputHandler;
- }
-
- /**
- * Perform click.
- *
- * @param button
- * the button
- */
- protected final void performClick(final BButton button) {
- // In order to trigger a click event, we need to first fire
- // a Mouse Pressed and then Mouse Released
- final MouseEvent mousePressedEvent = new MouseEvent(this, 1, 0,
- MouseEvent.BUTTON1, MouseEvent.MOUSE_PRESSED, 5, 5);
- button.dispatchEvent(mousePressedEvent);
- final MouseEvent mouseReleasedEvent = new MouseEvent(this, 2, 0,
- MouseEvent.MOUSE_RELEASED, 5, 5);
- button.dispatchEvent(mouseReleasedEvent);
- }
- }