Improved tests

0.8
Bruno Van de Velde 2016-07-17 20:19:30 +02:00
parent b28b72e755
commit fa8ec3804f
5 changed files with 57 additions and 174 deletions

View File

@ -68,13 +68,16 @@ TEST_CASE("[Button]")
SECTION("Events")
{
testClickableWidgetSignals(button);
button->setPosition(40, 30);
button->setSize(150, 100);
SECTION("ClickableWidget")
{
testClickableWidgetSignals(button);
}
SECTION("Pressed signal")
{
button->setPosition(40, 30);
button->setSize(150, 100);
unsigned int pressedCount = 0;
button->connect("Pressed", genericCallback, std::ref(pressedCount));
@ -157,7 +160,7 @@ TEST_CASE("[Button]")
REQUIRE_NOTHROW(renderer->setProperty("BorderColorDisabled", sf::Color{130, 140, 150}));
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", sf::Text::Italic));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleHover", sf::Text::Underlined));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDown", sf::Text::Bold | sf::Text::Underlined));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDown", tgui::TextStyle(sf::Text::Bold | sf::Text::Underlined)));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDisabled", sf::Text::StrikeThrough));
REQUIRE_NOTHROW(renderer->setProperty("Borders", tgui::Borders{1, 2, 3, 4}));
}
@ -186,19 +189,37 @@ TEST_CASE("[Button]")
REQUIRE(renderer->getProperty("TextColor").getColor() == sf::Color(20, 30, 40));
REQUIRE(renderer->getProperty("TextColorHover").getColor() == sf::Color(30, 40, 50));
REQUIRE(renderer->getProperty("TextColorDown").getColor() == sf::Color(40, 50, 60));
REQUIRE(renderer->getProperty("TextColorDisabled").getColor() == sf::Color(90, 100, 110));
REQUIRE(renderer->getProperty("BackgroundColor").getColor() == sf::Color(50, 60, 70));
REQUIRE(renderer->getProperty("BackgroundColorHover").getColor() == sf::Color(60, 70, 80));
REQUIRE(renderer->getProperty("BackgroundColorDown").getColor() == sf::Color(70, 80, 90));
REQUIRE(renderer->getProperty("BackgroundColorDisabled").getColor() == sf::Color(100, 110, 120));
REQUIRE(renderer->getProperty("BorderColor").getColor() == sf::Color(80, 90, 100));
REQUIRE(renderer->getProperty("BorderColorHover").getColor() == sf::Color(110, 120, 130));
REQUIRE(renderer->getProperty("BorderColorDown").getColor() == sf::Color(120, 130, 140));
REQUIRE(renderer->getProperty("BorderColorDisabled").getColor() == sf::Color(130, 140, 150));
REQUIRE(renderer->getProperty("TextStyle").getTextStyle() == sf::Text::Italic);
REQUIRE(renderer->getProperty("TextStyleHover").getTextStyle() == sf::Text::Underlined);
REQUIRE(renderer->getProperty("TextStyleDown").getTextStyle() == (sf::Text::Bold | sf::Text::Underlined));
REQUIRE(renderer->getProperty("TextStyleDisabled").getTextStyle() == sf::Text::StrikeThrough);
REQUIRE(renderer->getProperty("Borders").getOutline() == tgui::Borders(1, 2, 3, 4));
REQUIRE(renderer->getTextColor() == sf::Color(20, 30, 40));
REQUIRE(renderer->getTextColorHover() == sf::Color(30, 40, 50));
REQUIRE(renderer->getTextColorDown() == sf::Color(40, 50, 60));
REQUIRE(renderer->getTextColorDisabled() == sf::Color(90, 100, 110));
REQUIRE(renderer->getBackgroundColor() == sf::Color(50, 60, 70));
REQUIRE(renderer->getBackgroundColorHover() == sf::Color(60, 70, 80));
REQUIRE(renderer->getBackgroundColorDown() == sf::Color(70, 80, 90));
REQUIRE(renderer->getBackgroundColorDisabled() == sf::Color(100, 110, 120));
REQUIRE(renderer->getBorderColor() == sf::Color(80, 90, 100));
REQUIRE(renderer->getBorderColorHover() == sf::Color(110, 120, 130));
REQUIRE(renderer->getBorderColorDown() == sf::Color(120, 130, 140));
REQUIRE(renderer->getBorderColorDisabled() == sf::Color(130, 140, 150));
REQUIRE(renderer->getTextStyle() == sf::Text::Italic);
REQUIRE(renderer->getTextStyleHover() == sf::Text::Underlined);
REQUIRE(renderer->getTextStyleDown() == (sf::Text::Bold | sf::Text::Underlined));
REQUIRE(renderer->getTextStyleDisabled() == sf::Text::StrikeThrough);
REQUIRE(renderer->getBorders() == tgui::Borders(1, 2, 3, 4));
}

View File

@ -287,7 +287,10 @@ TEST_CASE("[EditBox]")
SECTION("Events")
{
testClickableWidgetSignals(editBox);
SECTION("ClickableWidget")
{
testClickableWidgetSignals(editBox);
}
editBox->setPosition(40, 30);
editBox->setSize(150, 100);

View File

@ -126,87 +126,19 @@ TEST_CASE("[Label]")
SECTION("Events")
{
unsigned int mousePressedCount = 0;
unsigned int mouseReleasedCount = 0;
unsigned int clickedCount = 0;
unsigned int doubleClickedCount = 0;
label->setPosition(40, 30);
label->setSize(150, 100);
label->connect("MousePressed", mouseCallback, std::ref(mousePressedCount));
label->connect("MouseReleased", mouseCallback, std::ref(mouseReleasedCount));
label->connect("Clicked", mouseCallback, std::ref(clickedCount));
label->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
SECTION("mouseOnWidget")
SECTION("ClickableWidget")
{
REQUIRE(!label->mouseOnWidget(10, 15));
REQUIRE(label->mouseOnWidget(40, 30));
REQUIRE(label->mouseOnWidget(115, 80));
REQUIRE(label->mouseOnWidget(189, 129));
REQUIRE(!label->mouseOnWidget(190, 130));
REQUIRE(mousePressedCount == 0);
REQUIRE(mouseReleasedCount == 0);
REQUIRE(clickedCount == 0);
REQUIRE(doubleClickedCount == 0);
}
SECTION("mouse move")
{
unsigned int mouseEnteredCount = 0;
unsigned int mouseLeftCount = 0;
label->connect("MouseEntered", genericCallback, std::ref(mouseEnteredCount));
label->connect("MouseLeft", genericCallback, std::ref(mouseLeftCount));
auto parent = std::make_shared<tgui::Panel>(300, 200);
parent->add(label);
parent->mouseMoved(10, 15);
REQUIRE(mouseEnteredCount == 0);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(40, 30);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(189, 129);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(190, 130);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 1);
}
SECTION("mouse click")
{
label->leftMouseReleased(115, 80);
REQUIRE(mouseReleasedCount == 1);
REQUIRE(clickedCount == 0);
SECTION("mouse press")
{
label->leftMousePressed(115, 80);
REQUIRE(mousePressedCount == 1);
REQUIRE(mouseReleasedCount == 1);
REQUIRE(clickedCount == 0);
}
label->leftMouseReleased(115, 80);
REQUIRE(mousePressedCount == 1);
REQUIRE(mouseReleasedCount == 2);
REQUIRE(clickedCount == 1);
REQUIRE(doubleClickedCount == 0);
testClickableWidgetSignals(label);
}
SECTION("double click")
{
unsigned int doubleClickedCount = 0;
label->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
label->setPosition(40, 30);
label->setSize(150, 100);
label->leftMousePressed(115, 80);
label->leftMouseReleased(115, 80);
@ -216,17 +148,12 @@ TEST_CASE("[Label]")
label->leftMousePressed(115, 80);
label->leftMouseReleased(115, 80);
REQUIRE(mousePressedCount == 2);
REQUIRE(mouseReleasedCount == 2);
REQUIRE(clickedCount == 2);
REQUIRE(doubleClickedCount == 0);
gui.updateTime(DOUBLE_CLICK_TIMEOUT / 2.f);
label->leftMousePressed(115, 80);
label->leftMouseReleased(115, 80);
REQUIRE(doubleClickedCount == 1);
}
}

View File

@ -123,93 +123,20 @@ TEST_CASE("[Picture]")
SECTION("Events")
{
unsigned int mousePressedCount = 0;
unsigned int mouseReleasedCount = 0;
unsigned int clickedCount = 0;
unsigned int doubleClickedCount = 0;
picture->setTexture("resources/image.png");
picture->setPosition(40, 30);
picture->setSize(150, 100);
picture->connect("MousePressed", mouseCallback, std::ref(mousePressedCount));
picture->connect("MouseReleased", mouseCallback, std::ref(mouseReleasedCount));
picture->connect("Clicked", mouseCallback, std::ref(clickedCount));
picture->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
SECTION("mouseOnWidget")
SECTION("ClickableWidget")
{
picture->setTexture("resources/TransparentParts.png", true);
REQUIRE(!picture->mouseOnWidget(10, 15));
REQUIRE(picture->mouseOnWidget(40, 30));
REQUIRE(picture->mouseOnWidget(115, 80));
REQUIRE(picture->mouseOnWidget(189, 129));
REQUIRE(!picture->mouseOnWidget(190, 130));
picture->setTexture("resources/TransparentParts.png", false);
REQUIRE(!picture->mouseOnWidget(115, 80));
REQUIRE(mousePressedCount == 0);
REQUIRE(mouseReleasedCount == 0);
REQUIRE(clickedCount == 0);
REQUIRE(doubleClickedCount == 0);
}
SECTION("mouse move")
{
unsigned int mouseEnteredCount = 0;
unsigned int mouseLeftCount = 0;
picture->connect("MouseEntered", genericCallback, std::ref(mouseEnteredCount));
picture->connect("MouseLeft", genericCallback, std::ref(mouseLeftCount));
auto parent = std::make_shared<tgui::Panel>(300, 200);
parent->add(picture);
parent->mouseMoved(10, 15);
REQUIRE(mouseEnteredCount == 0);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(40, 30);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(189, 129);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 0);
parent->mouseMoved(190, 130);
REQUIRE(mouseEnteredCount == 1);
REQUIRE(mouseLeftCount == 1);
}
SECTION("mouse click")
{
picture->leftMouseReleased(115, 80);
REQUIRE(mouseReleasedCount == 1);
REQUIRE(clickedCount == 0);
SECTION("mouse press")
{
picture->leftMousePressed(115, 80);
REQUIRE(mousePressedCount == 1);
REQUIRE(mouseReleasedCount == 1);
REQUIRE(clickedCount == 0);
}
picture->leftMouseReleased(115, 80);
REQUIRE(mousePressedCount == 1);
REQUIRE(mouseReleasedCount == 2);
REQUIRE(clickedCount == 1);
REQUIRE(doubleClickedCount == 0);
testClickableWidgetSignals(picture);
}
SECTION("double click")
{
picture->setTexture("resources/image.png");
picture->setPosition(40, 30);
picture->setSize(150, 100);
unsigned int doubleClickedCount = 0;
picture->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
picture->leftMousePressed(115, 80);
picture->leftMouseReleased(115, 80);
@ -219,17 +146,12 @@ TEST_CASE("[Picture]")
picture->leftMousePressed(115, 80);
picture->leftMouseReleased(115, 80);
REQUIRE(mousePressedCount == 2);
REQUIRE(mouseReleasedCount == 2);
REQUIRE(clickedCount == 2);
REQUIRE(doubleClickedCount == 0);
gui.updateTime(DOUBLE_CLICK_TIMEOUT / 2.f);
picture->leftMousePressed(115, 80);
picture->leftMouseReleased(115, 80);
REQUIRE(doubleClickedCount == 1);
}
}

View File

@ -228,6 +228,8 @@ TEST_CASE("[RadioButton]")
REQUIRE_NOTHROW(renderer->setProperty("CheckColor", "rgb(110, 120, 130)"));
REQUIRE_NOTHROW(renderer->setProperty("CheckColorHover", "rgb(120, 130, 140)"));
REQUIRE_NOTHROW(renderer->setProperty("CheckColorDisabled", "rgb(240, 230, 220)"));
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", "Italic"));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleChecked", "Bold"));
REQUIRE_NOTHROW(renderer->setProperty("TextDistanceRatio", "0.5"));
REQUIRE_NOTHROW(renderer->setProperty("Borders", "(1, 2, 3, 4)"));
}
@ -255,6 +257,8 @@ TEST_CASE("[RadioButton]")
REQUIRE_NOTHROW(renderer->setProperty("CheckColor", sf::Color{110, 120, 130}));
REQUIRE_NOTHROW(renderer->setProperty("CheckColorHover", sf::Color{120, 130, 140}));
REQUIRE_NOTHROW(renderer->setProperty("CheckColorDisabled", sf::Color{240, 230, 220}));
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", sf::Text::Italic));
REQUIRE_NOTHROW(renderer->setProperty("TextStyleChecked", sf::Text::Bold));
REQUIRE_NOTHROW(renderer->setProperty("TextDistanceRatio", 0.5));
REQUIRE_NOTHROW(renderer->setProperty("Borders", tgui::Borders{1, 2, 3, 4}));
}
@ -282,6 +286,8 @@ TEST_CASE("[RadioButton]")
renderer->setCheckColor({110, 120, 130});
renderer->setCheckColorHover({120, 130, 140});
renderer->setCheckColorDisabled({240, 230, 220});
renderer->setTextStyle(sf::Text::Italic);
renderer->setTextStyleChecked(sf::Text::Bold);
renderer->setTextDistanceRatio(0.5);
renderer->setBorders({1, 2, 3, 4});
}
@ -307,6 +313,8 @@ TEST_CASE("[RadioButton]")
REQUIRE(renderer->getProperty("CheckColor").getColor() == sf::Color(110, 120, 130));
REQUIRE(renderer->getProperty("CheckColorHover").getColor() == sf::Color(120, 130, 140));
REQUIRE(renderer->getProperty("CheckColorDisabled").getColor() == sf::Color(240, 230, 220));
REQUIRE(renderer->getProperty("TextStyle").getTextStyle() == sf::Text::Italic);
REQUIRE(renderer->getProperty("TextStyleChecked").getTextStyle() == sf::Text::Bold);
REQUIRE(renderer->getProperty("TextDistanceRatio").getNumber() == 0.5);
REQUIRE(renderer->getProperty("Borders").getOutline() == tgui::Borders(1, 2, 3, 4));
@ -331,6 +339,8 @@ TEST_CASE("[RadioButton]")
REQUIRE(renderer->getCheckColor() == sf::Color(110, 120, 130));
REQUIRE(renderer->getCheckColorHover() == sf::Color(120, 130, 140));
REQUIRE(renderer->getCheckColorDisabled() == sf::Color(240, 230, 220));
REQUIRE(renderer->getTextStyle() == sf::Text::Italic);
REQUIRE(renderer->getTextStyleChecked() == sf::Text::Bold);
REQUIRE(renderer->getTextDistanceRatio() == 0.5);
REQUIRE(renderer->getBorders() == tgui::Borders(1, 2, 3, 4));
}