diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-05-23 09:13:11 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-05-23 09:13:11 +0200 |
| commit | ddce5043e70de5eab3d35b0986faf9a12933dedf (patch) | |
| tree | ebe2a333ee8c6a2cb67d567a0f2a67dbe4c18d4f /lib/tests | |
| parent | ef525d8cce452c31012dbc2009b36e21bc1e1811 (diff) | |
| download | turns-ddce5043e70de5eab3d35b0986faf9a12933dedf.tar.xz turns-ddce5043e70de5eab3d35b0986faf9a12933dedf.zip | |
lib: add clear method to TurnOrder
Diffstat (limited to 'lib/tests')
| -rw-r--r-- | lib/tests/turns-turn-order.cpp | 28 | ||||
| -rw-r--r-- | lib/tests/turnsmm/turn-order.cpp | 35 |
2 files changed, 61 insertions, 2 deletions
diff --git a/lib/tests/turns-turn-order.cpp b/lib/tests/turns-turn-order.cpp index 8e6cb99..ab119e1 100644 --- a/lib/tests/turns-turn-order.cpp +++ b/lib/tests/turns-turn-order.cpp @@ -3,7 +3,7 @@ * SPDX-License-Identifier: LGPL-2.1-only */ - #include "turns-turn-order.h" +#include "turns-turn-order.h" #include "turns-participant.h" @@ -86,6 +86,32 @@ SCENARIO("Modifying a turn order", "[lib][object][data]") g_autoptr(TurnsParticipant) object = TURNS_PARTICIPANT(g_list_model_get_object(G_LIST_MODEL(instance), 0)); REQUIRE(TURNS_PARTICIPANT(object) == participant); } + + AND_WHEN("calling clear") + { + turns_turn_order_clear(instance); + + THEN("its participant count is 0") + { + REQUIRE(turns_turn_order_get_participant_count(instance) == 0); + } + + THEN("its running state is false") + { + REQUIRE_FALSE(turns_turn_order_get_running(instance)); + } + + THEN("its item count is 0") + { + REQUIRE(g_list_model_get_n_items(G_LIST_MODEL(instance)) == 0); + } + + THEN("its first item is NULL") + { + REQUIRE(g_list_model_get_item(G_LIST_MODEL(instance), 0) == nullptr); + REQUIRE(g_list_model_get_object(G_LIST_MODEL(instance), 0) == nullptr); + } + } } } } diff --git a/lib/tests/turnsmm/turn-order.cpp b/lib/tests/turnsmm/turn-order.cpp index 5013be8..ff8738f 100644 --- a/lib/tests/turnsmm/turn-order.cpp +++ b/lib/tests/turnsmm/turn-order.cpp @@ -3,7 +3,7 @@ * SPDX-License-Identifier: LGPL-2.1-only */ - #include "turnsmm/turn-order.hpp" +#include "turnsmm/turn-order.hpp" #include "turnsmm/participant.hpp" @@ -92,6 +92,39 @@ SCENARIO("Modifying a turn order", "[lib][object][data]") { REQUIRE(instance.get_sort_mode() == Turns::TurnOrder::SortMode::Descending); } + + AND_WHEN("calling clear") + { + instance.clear(); + + THEN("its participant count is 0") + { + REQUIRE(instance.get_participant_count() == 0uz); + REQUIRE(instance.get_property<std::size_t>("participant-count") == 0); + } + + THEN("its running state is false") + { + REQUIRE_FALSE(instance.get_running()); + REQUIRE_FALSE(instance.get_property<std::size_t>("running")); + } + + THEN("its item count is 0") + { + REQUIRE(instance.get_n_items() == 0); + } + + THEN("its first item is NULL") + { + REQUIRE(instance.get_object(0) == nullptr); + REQUIRE(instance.get_typed_object<Turns::Participant>(0) == nullptr); + } + + THEN("its sort mode is descending") + { + REQUIRE(instance.get_sort_mode() == Turns::TurnOrder::SortMode::Descending); + } + } } } } |
