diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-05-23 12:56:27 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-05-23 12:56:27 +0200 |
| commit | 8fd2285000f756dd5cf1e89a6fef8196df0ab2bf (patch) | |
| tree | aa9d72a722f4f480b921eddef15015615c97f133 /lib | |
| parent | e8e5f555d1dde3bbe52edeb5dbb4d6d81424d76e (diff) | |
| download | turns-8fd2285000f756dd5cf1e89a6fef8196df0ab2bf.tar.xz turns-8fd2285000f756dd5cf1e89a6fef8196df0ab2bf.zip | |
lib: add more property tests
Diffstat (limited to 'lib')
| -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") { |
