mirror of
https://github.com/SFML/SFML.git
synced 2024-11-25 04:41:05 +08:00
Add tests for sf::Joystick
This commit is contained in:
parent
856a81f62b
commit
f40d5ac21d
@ -66,6 +66,7 @@ set(WINDOW_SRC
|
|||||||
Window/Cursor.test.cpp
|
Window/Cursor.test.cpp
|
||||||
Window/Event.test.cpp
|
Window/Event.test.cpp
|
||||||
Window/GlResource.test.cpp
|
Window/GlResource.test.cpp
|
||||||
|
Window/Joystick.test.cpp
|
||||||
Window/Keyboard.test.cpp
|
Window/Keyboard.test.cpp
|
||||||
Window/VideoMode.test.cpp
|
Window/VideoMode.test.cpp
|
||||||
Window/Window.test.cpp
|
Window/Window.test.cpp
|
||||||
|
76
test/Window/Joystick.test.cpp
Normal file
76
test/Window/Joystick.test.cpp
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#include <SFML/Window/Joystick.hpp>
|
||||||
|
|
||||||
|
#include <catch2/catch_test_macros.hpp>
|
||||||
|
#include <catch2/generators/catch_generators_range.hpp>
|
||||||
|
|
||||||
|
TEST_CASE("[Window] sf::Joystick")
|
||||||
|
{
|
||||||
|
SECTION("Constants")
|
||||||
|
{
|
||||||
|
STATIC_CHECK(sf::Joystick::Count == 8);
|
||||||
|
STATIC_CHECK(sf::Joystick::ButtonCount == 32);
|
||||||
|
STATIC_CHECK(sf::Joystick::AxisCount == 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("Identification")
|
||||||
|
{
|
||||||
|
const sf::Joystick::Identification identification;
|
||||||
|
CHECK(identification.name == "No Joystick");
|
||||||
|
CHECK(identification.vendorId == 0);
|
||||||
|
CHECK(identification.productId == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// By avoiding calling sf::Joystick::update() we can guarantee that
|
||||||
|
// no joysticks will be detected. This is how we can ensure these
|
||||||
|
// tests are portable and reliable.
|
||||||
|
|
||||||
|
const auto joystick = GENERATE(range(0u, sf::Joystick::Count - 1));
|
||||||
|
|
||||||
|
SECTION("isConnected()")
|
||||||
|
{
|
||||||
|
CHECK(!sf::Joystick::isConnected(joystick));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("getButtonCount()")
|
||||||
|
{
|
||||||
|
CHECK(sf::Joystick::getButtonCount(joystick) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("hasAxis()")
|
||||||
|
{
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::X));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::Y));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::Z));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::R));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::U));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::V));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::PovX));
|
||||||
|
CHECK(!sf::Joystick::hasAxis(joystick, sf::Joystick::PovY));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("isButtonPressed()")
|
||||||
|
{
|
||||||
|
const auto button = GENERATE(range(0u, sf::Joystick::ButtonCount - 1));
|
||||||
|
CHECK(!sf::Joystick::isButtonPressed(joystick, button));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("getAxisPosition")
|
||||||
|
{
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::X) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::Y) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::Z) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::R) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::U) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::V) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::PovX) == 0);
|
||||||
|
CHECK(sf::Joystick::getAxisPosition(joystick, sf::Joystick::PovY) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("getIdentification()")
|
||||||
|
{
|
||||||
|
const auto identification = sf::Joystick::getIdentification(joystick);
|
||||||
|
CHECK(identification.name == "No Joystick");
|
||||||
|
CHECK(identification.vendorId == 0);
|
||||||
|
CHECK(identification.productId == 0);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user