mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 22:31:09 +08:00
Add more tests for sf::Shape
This commit is contained in:
parent
133bcda6cb
commit
d672b3504e
@ -1,5 +1,8 @@
|
|||||||
#include <SFML/Graphics/Shape.hpp>
|
#include <SFML/Graphics/Shape.hpp>
|
||||||
|
|
||||||
|
// Other 1st party headers
|
||||||
|
#include <SFML/Graphics/Texture.hpp>
|
||||||
|
|
||||||
#include <catch2/catch_test_macros.hpp>
|
#include <catch2/catch_test_macros.hpp>
|
||||||
|
|
||||||
#include <GraphicsUtil.hpp>
|
#include <GraphicsUtil.hpp>
|
||||||
@ -36,7 +39,7 @@ private:
|
|||||||
sf::Vector2f m_size;
|
sf::Vector2f m_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_CASE("[Graphics] sf::Shape")
|
TEST_CASE("[Graphics] sf::Shape", runDisplayTests())
|
||||||
{
|
{
|
||||||
SECTION("Type traits")
|
SECTION("Type traits")
|
||||||
{
|
{
|
||||||
@ -60,6 +63,14 @@ TEST_CASE("[Graphics] sf::Shape")
|
|||||||
CHECK(triangleShape.getGlobalBounds() == sf::FloatRect());
|
CHECK(triangleShape.getGlobalBounds() == sf::FloatRect());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SECTION("Set/get texture")
|
||||||
|
{
|
||||||
|
const sf::Texture texture;
|
||||||
|
TriangleShape triangleShape({});
|
||||||
|
triangleShape.setTexture(&texture, true);
|
||||||
|
CHECK(triangleShape.getTexture() == &texture);
|
||||||
|
}
|
||||||
|
|
||||||
SECTION("Set/get texture rect")
|
SECTION("Set/get texture rect")
|
||||||
{
|
{
|
||||||
TriangleShape triangleShape({});
|
TriangleShape triangleShape({});
|
||||||
@ -100,15 +111,23 @@ TEST_CASE("[Graphics] sf::Shape")
|
|||||||
|
|
||||||
SECTION("Get bounds")
|
SECTION("Get bounds")
|
||||||
{
|
{
|
||||||
TriangleShape triangleShape({2, 3});
|
TriangleShape triangleShape({30, 40});
|
||||||
CHECK(triangleShape.getLocalBounds() == sf::FloatRect({0, 0}, {2, 3}));
|
CHECK(triangleShape.getLocalBounds() == sf::FloatRect({0, 0}, {30, 40}));
|
||||||
CHECK(triangleShape.getGlobalBounds() == sf::FloatRect({0, 0}, {2, 3}));
|
CHECK(triangleShape.getGlobalBounds() == sf::FloatRect({0, 0}, {30, 40}));
|
||||||
triangleShape.move({1, 1});
|
|
||||||
triangleShape.rotate(sf::degrees(90));
|
SECTION("Move and rotate")
|
||||||
CHECK(triangleShape.getLocalBounds() == sf::FloatRect({0, 0}, {2, 3}));
|
{
|
||||||
CHECK(triangleShape.getGlobalBounds().left == Approx(-2.f));
|
triangleShape.move({1, 1});
|
||||||
CHECK(triangleShape.getGlobalBounds().top == Approx(1.f));
|
triangleShape.rotate(sf::degrees(90));
|
||||||
CHECK(triangleShape.getGlobalBounds().width == Approx(3.f));
|
CHECK(triangleShape.getLocalBounds() == sf::FloatRect({0, 0}, {30, 40}));
|
||||||
CHECK(triangleShape.getGlobalBounds().height == Approx(2.f));
|
CHECK(triangleShape.getGlobalBounds() == Approx(sf::FloatRect({-39, 1}, {40, 30})));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("Add outline")
|
||||||
|
{
|
||||||
|
triangleShape.setOutlineThickness(5);
|
||||||
|
CHECK(triangleShape.getLocalBounds() == Approx(sf::FloatRect({-7.2150f, -14.2400f}, {44.4300f, 59.2400f})));
|
||||||
|
CHECK(triangleShape.getGlobalBounds() == Approx(sf::FloatRect({-7.2150f, -14.2400f}, {44.4300f, 59.2400f})));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user