summaryrefslogtreecommitdiff
path: root/lib/tests/turnsmm/turn-order.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tests/turnsmm/turn-order.cpp')
-rw-r--r--lib/tests/turnsmm/turn-order.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/tests/turnsmm/turn-order.cpp b/lib/tests/turnsmm/turn-order.cpp
index 395b868..14b6b2c 100644
--- a/lib/tests/turnsmm/turn-order.cpp
+++ b/lib/tests/turnsmm/turn-order.cpp
@@ -12,6 +12,7 @@
#include <giomm/listmodel.h>
#include <glib.h>
+#include <turns-turn-order.h>
#include <optional>
#include <tuple>
@@ -24,6 +25,13 @@ namespace
{
list_model_notification = std::tuple{position, removed, added};
}
+
+ auto notify_sort_mode_received = false;
+
+ auto on_notify_sort_mode() -> void
+ {
+ notify_sort_mode_received = true;
+ }
} // namespace
SCENARIO("Creating a turn order", "[lib][object][lifetime]")
@@ -68,6 +76,7 @@ SCENARIO("Creating a turn order", "[lib][object][lifetime]")
THEN("its sort mode is descending")
{
REQUIRE(instance.get_sort_mode() == Turns::TurnOrder::SortMode::Descending);
+ REQUIRE(instance.property_sort_mode() == Turns::TurnOrder::SortMode::Descending);
REQUIRE_FALSE(list_model_notification.has_value());
}
@@ -75,6 +84,7 @@ SCENARIO("Creating a turn order", "[lib][object][lifetime]")
{
REQUIRE(instance.get_empty());
REQUIRE(instance.property_empty());
+ REQUIRE_FALSE(list_model_notification.has_value());
}
}
}
@@ -120,6 +130,7 @@ SCENARIO("Modifying a turn order", "[lib][object][data]")
THEN("its sort mode is descending")
{
REQUIRE(instance.get_sort_mode() == Turns::TurnOrder::SortMode::Descending);
+ REQUIRE(instance.property_sort_mode() == Turns::TurnOrder::SortMode::Descending);
}
THEN("the items-changed signal is emitted")
@@ -173,6 +184,7 @@ SCENARIO("Modifying a turn order", "[lib][object][data]")
THEN("its sort mode is descending")
{
REQUIRE(instance.get_sort_mode() == Turns::TurnOrder::SortMode::Descending);
+ REQUIRE(instance.property_sort_mode() == Turns::TurnOrder::SortMode::Descending);
}
THEN("the items-changed signal is emitted")
@@ -266,6 +278,7 @@ SCENARIO("Sorting a turn order")
instance.add(participant_b);
instance.signal_items_changed().connect(&on_list_model_notification);
+ instance.property_sort_mode().signal_changed().connect(&on_notify_sort_mode);
THEN("B is the first and A the second element")
{
@@ -321,7 +334,15 @@ SCENARIO("Sorting a turn order")
WHEN("the sort mode is changed to ascending")
{
list_model_notification.reset();
+ notify_sort_mode_received = false;
+
instance.set_sort_mode(Turns::TurnOrder::SortMode::Ascending);
+ CHECK(instance.property_sort_mode() == Turns::TurnOrder::SortMode::Ascending);
+
+ THEN("notify::sort-mode was emitted")
+ {
+ REQUIRE(notify_sort_mode_received);
+ }
THEN("A is the first and B the second element")
{
@@ -352,6 +373,7 @@ SCENARIO("Sorting a turn order")
auto current_sort_mode = instance.get_sort_mode();
list_model_notification.reset();
instance.set_sort_mode(current_sort_mode);
+ CHECK(instance.property_sort_mode() == current_sort_mode);
THEN("the items-changed signal is not emitted")
{