summaryrefslogtreecommitdiff
path: root/lib/tests
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2025-05-23 09:13:11 +0200
committerFelix Morgner <felix.morgner@gmail.com>2025-05-23 09:13:11 +0200
commitddce5043e70de5eab3d35b0986faf9a12933dedf (patch)
treeebe2a333ee8c6a2cb67d567a0f2a67dbe4c18d4f /lib/tests
parentef525d8cce452c31012dbc2009b36e21bc1e1811 (diff)
downloadturns-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.cpp28
-rw-r--r--lib/tests/turnsmm/turn-order.cpp35
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);
+ }
+ }
}
}
}