diff options
| -rw-r--r-- | lib/tests/turnsmm/turn-order.cpp | 22 |
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") { |
