diff --git a/Juliet/src/UnitTest/Container/VectorUnitTest.cpp b/Juliet/src/UnitTest/Container/VectorUnitTest.cpp index d7c80c9..19f9736 100644 --- a/Juliet/src/UnitTest/Container/VectorUnitTest.cpp +++ b/Juliet/src/UnitTest/Container/VectorUnitTest.cpp @@ -149,11 +149,11 @@ namespace Juliet { // Initial capacity 4, allow realloc ArenaParams params{ .AllowRealloc = true }; - Arena* externalArena = ArenaAllocate(params); + Arena* externalArena = ArenaAllocate(params); VectorArena vec = {}; vec.Create(externalArena); - + Assert(vec.Capacity == 4); vec.PushBack(1); @@ -166,7 +166,7 @@ namespace Juliet vec.PushBack(5); Assert(vec.Capacity >= 5); // Should have grown (likely doubled to 8) VerifyVectorState(vec, 5); - + Assert(vec[0] == 1); Assert(vec[1] == 2); Assert(vec[2] == 3); @@ -180,48 +180,53 @@ namespace Juliet { struct MoveOnly { - int Value; + int Value; bool MovedFrom = false; - MoveOnly(int v) : Value(v) {} + MoveOnly(int v) + : Value(v) + { + } MoveOnly(const MoveOnly&) = delete; // No copy - [[maybe_unused]] MoveOnly(MoveOnly&& other) noexcept : Value(other.Value), MovedFrom(false) + [[maybe_unused]] MoveOnly(MoveOnly&& other) noexcept + : Value(other.Value) + , MovedFrom(false) { other.MovedFrom = true; - other.Value = -1; + other.Value = -1; } - MoveOnly& operator=(const MoveOnly&) = delete; + MoveOnly& operator=(const MoveOnly&) = delete; [[maybe_unused]] MoveOnly& operator=(MoveOnly&& other) noexcept { - Value = other.Value; - MovedFrom = false; + Value = other.Value; + MovedFrom = false; other.MovedFrom = true; - other.Value = -1; + other.Value = -1; return *this; } }; VectorArena vec = {}; - ArenaParams params{ .AllowRealloc = true }; - Arena* externalArena = ArenaAllocate(params); - NonNullPtr validArena(externalArena); + ArenaParams params{ .AllowRealloc = true }; + Arena* externalArena = ArenaAllocate(params); + NonNullPtr validArena(externalArena); vec.Create(validArena); MoveOnly item1(10); vec.PushBack(std::move(item1)); - + Assert(item1.MovedFrom); // Verify original was moved from Assert(vec.Size() == 1); Assert(vec[0].Value == 10); Assert(!vec[0].MovedFrom); - vec.Destroy(); + vec.Destroy(); } // Test 7: Resize Behavior { - ArenaParams params{ .AllowRealloc = true }; - Arena* externalArena = ArenaAllocate(params); + ArenaParams params{ .AllowRealloc = true }; + Arena* externalArena = ArenaAllocate(params); NonNullPtr validArena(externalArena); VectorArena vec = {}; @@ -240,19 +245,14 @@ namespace Juliet vec.Resize(4); Assert(vec.Size() == 4); Assert(vec[0] == 1); - // Verify new elements are NOT necessarily zero-initialized (garbage or previous memory). - // We only check size and preserved data. - // Assert(vec[1] == 0); - // Assert(vec[2] == 0); - // Assert(vec[3] == 0); vec.Destroy(); } // Test 8: External Arena Usage { - ArenaParams params{ .AllowRealloc = true }; - Arena* externalArena = ArenaAllocate(params); + ArenaParams params{ .AllowRealloc = true }; + Arena* externalArena = ArenaAllocate(params); NonNullPtr validArena(externalArena); VectorArena vec = {}; @@ -267,8 +267,8 @@ namespace Juliet // Test 9: Volume Test (100 items with Realloc) { - ArenaParams params{ .AllowRealloc = true }; - Arena* externalArena = ArenaAllocate(params); + ArenaParams params{ .AllowRealloc = true }; + Arena* externalArena = ArenaAllocate(params); NonNullPtr validArena(externalArena); VectorArena vec = {};