summaryrefslogtreecommitdiff
path: root/domain/tests/turn_order.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'domain/tests/turn_order.cpp')
-rw-r--r--domain/tests/turn_order.cpp113
1 files changed, 22 insertions, 91 deletions
diff --git a/domain/tests/turn_order.cpp b/domain/tests/turn_order.cpp
index 9feb47a..5bdc157 100644
--- a/domain/tests/turn_order.cpp
+++ b/domain/tests/turn_order.cpp
@@ -22,119 +22,50 @@ namespace turns::domain::tests
SECTION("has 0 items")
{
- REQUIRE(instance->n_participants() == 0);
+ REQUIRE(instance->size() == 0);
}
- SECTION("accepts a new participant in form of a refptr")
+ SECTION("accepts a new participant")
{
- instance->append(participant::create("Honey Bunches of Oats", 12, disposition::friendly));
- REQUIRE(instance->n_participants() == 1);
+ instance->add("River along the Field", 14, disposition::friendly);
+ REQUIRE(instance->size() == 1);
}
- SECTION("accepts a new participant in form of components")
- {
- instance->append("River along the Field", 14, disposition::friendly);
- REQUIRE(instance->n_participants() == 1);
- }
-
- SECTION("does nothing when trying to remove an item by refptr if no items were added beforehand")
- {
- instance->remove(participant::create("Patch in the Forest", 3, disposition::friendly));
- REQUIRE(instance->n_participants() == 0);
- }
-
- SECTION("does nothing when trying to remove an item by index if no items were added beforehand")
+ SECTION("does nothing when trying to remove an item if no items were added beforehand")
{
instance->remove(5);
- REQUIRE(instance->n_participants() == 0);
+ REQUIRE(instance->size() == 0);
}
- SECTION("allows the removal of an item by refptr if the same item was added beforehand")
+ SECTION("automatically sorts elements added in descending order of priority")
{
- auto item = participant::create("Blank Canvas", 23, disposition::friendly);
- instance->append(item);
- instance->remove(item);
- REQUIRE(instance->n_participants() == 0);
- }
-
- SECTION("does nothing when trying to remove an item by refptr that was not added beforehand")
- {
- auto item = participant::create("Blank Canvas", 23, disposition::friendly);
- instance->append(item);
- instance->remove(participant::create("Spell of Rain", 6, disposition::friendly));
- REQUIRE(instance->n_participants() == 1);
- }
-
- SECTION("automatically sorts appended refptrs in descending order of priority")
- {
- SECTION("when appending the higher one last")
+ SECTION("when adding the higher one last")
{
- instance->append(participant::create("Snow on the Field", 2, disposition::friendly));
- instance->append(participant::create("Bees behind the Cottage", 8, disposition::friendly));
- REQUIRE(instance->get_participant(0)->get_name() == "Bees behind the Cottage");
+ instance->add("Tree Blossom", 6, disposition::friendly);
+ instance->add("Fish in the River", 12, disposition::friendly);
+ REQUIRE(instance->get(0)->get_name() == "Fish in the River");
}
- SECTION("when appending the higher one first")
+ SECTION("when adding the higher one first")
{
- instance->append(participant::create("Bees behind the Cottage", 8, disposition::friendly));
- instance->append(participant::create("Snow on the Field", 2, disposition::friendly));
- REQUIRE(instance->get_participant(0)->get_name() == "Bees behind the Cottage");
+ instance->add("Fish in the River", 12, disposition::friendly);
+ instance->add("Tree Blossom", 6, disposition::friendly);
+ REQUIRE(instance->get(0)->get_name() == "Fish in the River");
}
- SECTION("keeping the insertion order when appending items with equal priority")
+ SECTION("keeping the insertion order when adding items with equal priority")
{
- instance->append(participant::create("Snow on the Field", 8, disposition::friendly));
- instance->append(participant::create("Bees behind the Cottage", 8, disposition::friendly));
- REQUIRE(instance->get_participant(0)->get_name() == "Snow on the Field");
+ instance->add("Fish in the River", 6, disposition::friendly);
+ instance->add("Tree Blossom", 6, disposition::friendly);
+ REQUIRE(instance->get(0)->get_name() == "Fish in the River");
}
}
- SECTION("automatically sorts elements appended by components in descending order of priority")
- {
- SECTION("when appending the higher one last")
- {
- instance->append("Tree Blossom", 6, disposition::friendly);
- instance->append("Fish in the River", 12, disposition::friendly);
- REQUIRE(instance->get_participant(0)->get_name() == "Fish in the River");
- }
-
- SECTION("when appending the higher one first")
- {
- instance->append("Fish in the River", 12, disposition::friendly);
- instance->append("Tree Blossom", 6, disposition::friendly);
- REQUIRE(instance->get_participant(0)->get_name() == "Fish in the River");
- }
-
- SECTION("keeping the insertion order when appending items with equal priority")
- {
- instance->append("Fish in the River", 6, disposition::friendly);
- instance->append("Tree Blossom", 6, disposition::friendly);
- REQUIRE(instance->get_participant(0)->get_name() == "Fish in the River");
- }
- }
-
- SECTION("does not accept the same item twice by the same refptr")
- {
- auto item = participant::create("Angelic Berry", 9, disposition::friendly);
- instance->append(item);
- instance->append(item);
- REQUIRE(instance->n_participants() == 1);
- }
-
- SECTION("does not accept the same item twice by different refptrs")
- {
- auto item_one = participant::create("Misty Meadow", 14.2, disposition::friendly);
- auto item_two = participant::create("Misty Meadow", 14.2, disposition::friendly);
- instance->append(item_one);
- instance->append(item_two);
- REQUIRE(instance->n_participants() == 1);
- }
-
SECTION("does not accept the same item twice by components")
{
- instance->append("Frozen Apple Tree", 2.1, disposition::friendly);
- instance->append("Frozen Apple Tree", 2.1, disposition::friendly);
- REQUIRE(instance->n_participants() == 1);
+ instance->add("Frozen Apple Tree", 2.1, disposition::friendly);
+ instance->add("Frozen Apple Tree", 2.1, disposition::friendly);
+ REQUIRE(instance->size() == 1);
}
}