package com.badlogic.gdx.automation.recorder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.automation.recorder.InputProcessorProxy;
import com.badlogic.gdx.automation.recorder.InputProxy;
public class InputProcessorProxyTest {
private InputProcessor testProcessor;
@Before
public void setup() {
testProcessor = new InputProcessor() {
@Override
public boolean keyDown(int keycode) {
return false;
}
@Override
public boolean keyUp(int keycode) {
return false;
}
@Override
public boolean keyTyped(char character) {
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer,
int button) {
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer,
int button) {
return false;
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
return false;
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}
@Override
public boolean scrolled(int amount) {
return false;
}
};
}
@Test
public void testInputProcessorProxyInputProcessor() {
InputProcessorProxy proxy = new InputProcessorProxy(testProcessor) {
};
assertEquals(testProcessor, proxy.getProxied());
}
@Test
public void testGetSetProxied() {
InputProcessorProxy proxy = new InputProcessorProxy() {
};
assertNull(proxy.getProxied());
proxy.setProxied(testProcessor);
}
@Test
public void testRemoveProxyFromGdxInput() {
Gdx.input = new InputProxy() {
private InputProcessor processor;
@Override
public void setInputProcessor(InputProcessor processor) {
this.processor = processor;
}
@Override
public InputProcessor getInputProcessor() {
return processor;
}
};
InputProcessorProxy proxy = new InputProcessorProxy(testProcessor) {
};
Gdx.input.setInputProcessor(proxy);
assertTrue(InputProcessorProxy.removeProxyFromGdxInput(proxy));
assertEquals(testProcessor, Gdx.input.getInputProcessor());
}
}