From 9230b42f28108c2245da3a33cec2e65563a5fdb3 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 1 Aug 2019 16:23:21 +0200 Subject: [PATCH] AK: Use Vector::empend() a bit in the unit tests, and fix a bug. There was a bug in the "prepend_vector_object" test but it was masked by us not printing failures. (The bug was that we were adding three elements to the "objects" vector and then checking that another vector called "more_objects" indeed had three elements. Oops!) --- AK/Tests/TestVector.cpp | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/AK/Tests/TestVector.cpp b/AK/Tests/TestVector.cpp index 5b7e8f0c0f..1b89c68ee8 100644 --- a/AK/Tests/TestVector.cpp +++ b/AK/Tests/TestVector.cpp @@ -1,6 +1,6 @@ -#include #include #include +#include #include TEST_CASE(construct) @@ -102,36 +102,43 @@ TEST_CASE(prepend_vector) TEST_CASE(prepend_vector_object) { struct SubObject { - SubObject(int v) : value(v) {} + SubObject(int v) + : value(v) + { + } int value { 0 }; }; struct Object { - OwnPtr object; + Object(NonnullOwnPtr&& a_subobject) + : subobject(move(a_subobject)) + { + } + OwnPtr subobject; }; Vector objects; - objects.append({ make(1) }); - objects.append({ make(2) }); - objects.append({ make(3) }); + objects.empend(make(1)); + objects.empend(make(2)); + objects.empend(make(3)); EXPECT_EQ(objects.size(), 3); Vector more_objects; - objects.append({ make(4) }); - objects.append({ make(5) }); - objects.append({ make(6) }); - EXPECT_EQ(more_objects.size(), 3); + more_objects.empend(make(4)); + more_objects.empend(make(5)); + more_objects.empend(make(6)); + EXPECT_EQ(more_objects.size(), 4); objects.prepend(move(more_objects)); EXPECT_EQ(more_objects.size(), 0); EXPECT_EQ(objects.size(), 6); - EXPECT_EQ(objects[0].object->value, 4); - EXPECT_EQ(objects[1].object->value, 5); - EXPECT_EQ(objects[2].object->value, 6); - EXPECT_EQ(objects[3].object->value, 1); - EXPECT_EQ(objects[4].object->value, 2); - EXPECT_EQ(objects[5].object->value, 3); + EXPECT_EQ(objects[0].subobject->value, 4); + EXPECT_EQ(objects[1].subobject->value, 5); + EXPECT_EQ(objects[2].subobject->value, 6); + EXPECT_EQ(objects[3].subobject->value, 1); + EXPECT_EQ(objects[4].subobject->value, 2); + EXPECT_EQ(objects[5].subobject->value, 3); } TEST_MAIN(Vector)