1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-22 10:22:52 +01:00
openrw/tests/test_Input.cpp

36 lines
1.1 KiB
C++

#include <boost/test/unit_test.hpp>
#include "GameInput.hpp"
#include "test_globals.hpp"
BOOST_AUTO_TEST_SUITE(InputTests)
BOOST_AUTO_TEST_CASE(TestStateUpdate) {
BOOST_CHECK(GameInputState::Handbrake != GameInputState::Submission);
BOOST_CHECK(GameInputState::Jump != GameInputState::Sprint);
{
// Currently tests against hard-coded input
GameInputState state;
SDL_Event ev;
ev.type = SDL_KEYDOWN;
ev.key.keysym.sym = SDLK_SPACE;
GameInput::updateGameInputState(&state, ev);
// Check that the correct inputs report pressed
for (int c = 0; c < GameInputState::_MaxControls; ++c) {
switch ((GameInputState::Control)c) {
case GameInputState::Jump:
case GameInputState::Handbrake:
BOOST_CHECK(state.pressed((GameInputState::Control)c));
break;
default:
BOOST_CHECK(!state.pressed((GameInputState::Control)c));
break;
}
}
}
}
BOOST_AUTO_TEST_SUITE_END()