Cleaned up vector unit test useless lines

This commit is contained in:
2026-02-14 11:30:02 -05:00
parent 96169123dd
commit be113fa89d

View File

@@ -149,11 +149,11 @@ namespace Juliet
{ {
// Initial capacity 4, allow realloc // Initial capacity 4, allow realloc
ArenaParams params{ .AllowRealloc = true }; ArenaParams params{ .AllowRealloc = true };
Arena* externalArena = ArenaAllocate(params); Arena* externalArena = ArenaAllocate(params);
VectorArena<int, 4, true> vec = {}; VectorArena<int, 4, true> vec = {};
vec.Create(externalArena); vec.Create(externalArena);
Assert(vec.Capacity == 4); Assert(vec.Capacity == 4);
vec.PushBack(1); vec.PushBack(1);
@@ -166,7 +166,7 @@ namespace Juliet
vec.PushBack(5); vec.PushBack(5);
Assert(vec.Capacity >= 5); // Should have grown (likely doubled to 8) Assert(vec.Capacity >= 5); // Should have grown (likely doubled to 8)
VerifyVectorState(vec, 5); VerifyVectorState(vec, 5);
Assert(vec[0] == 1); Assert(vec[0] == 1);
Assert(vec[1] == 2); Assert(vec[1] == 2);
Assert(vec[2] == 3); Assert(vec[2] == 3);
@@ -180,48 +180,53 @@ namespace Juliet
{ {
struct MoveOnly struct MoveOnly
{ {
int Value; int Value;
bool MovedFrom = false; bool MovedFrom = false;
MoveOnly(int v) : Value(v) {} MoveOnly(int v)
: Value(v)
{
}
MoveOnly(const MoveOnly&) = delete; // No copy 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.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 [[maybe_unused]] MoveOnly& operator=(MoveOnly&& other) noexcept
{ {
Value = other.Value; Value = other.Value;
MovedFrom = false; MovedFrom = false;
other.MovedFrom = true; other.MovedFrom = true;
other.Value = -1; other.Value = -1;
return *this; return *this;
} }
}; };
VectorArena<MoveOnly, 4, true> vec = {}; VectorArena<MoveOnly, 4, true> vec = {};
ArenaParams params{ .AllowRealloc = true }; ArenaParams params{ .AllowRealloc = true };
Arena* externalArena = ArenaAllocate(params); Arena* externalArena = ArenaAllocate(params);
NonNullPtr<Arena> validArena(externalArena); NonNullPtr<Arena> validArena(externalArena);
vec.Create(validArena); vec.Create(validArena);
MoveOnly item1(10); MoveOnly item1(10);
vec.PushBack(std::move(item1)); vec.PushBack(std::move(item1));
Assert(item1.MovedFrom); // Verify original was moved from Assert(item1.MovedFrom); // Verify original was moved from
Assert(vec.Size() == 1); Assert(vec.Size() == 1);
Assert(vec[0].Value == 10); Assert(vec[0].Value == 10);
Assert(!vec[0].MovedFrom); Assert(!vec[0].MovedFrom);
vec.Destroy(); vec.Destroy();
} }
// Test 7: Resize Behavior // Test 7: Resize Behavior
{ {
ArenaParams params{ .AllowRealloc = true }; ArenaParams params{ .AllowRealloc = true };
Arena* externalArena = ArenaAllocate(params); Arena* externalArena = ArenaAllocate(params);
NonNullPtr<Arena> validArena(externalArena); NonNullPtr<Arena> validArena(externalArena);
VectorArena<int, 4, true> vec = {}; VectorArena<int, 4, true> vec = {};
@@ -240,19 +245,14 @@ namespace Juliet
vec.Resize(4); vec.Resize(4);
Assert(vec.Size() == 4); Assert(vec.Size() == 4);
Assert(vec[0] == 1); 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(); vec.Destroy();
} }
// Test 8: External Arena Usage // Test 8: External Arena Usage
{ {
ArenaParams params{ .AllowRealloc = true }; ArenaParams params{ .AllowRealloc = true };
Arena* externalArena = ArenaAllocate(params); Arena* externalArena = ArenaAllocate(params);
NonNullPtr<Arena> validArena(externalArena); NonNullPtr<Arena> validArena(externalArena);
VectorArena<int> vec = {}; VectorArena<int> vec = {};
@@ -267,8 +267,8 @@ namespace Juliet
// Test 9: Volume Test (100 items with Realloc) // Test 9: Volume Test (100 items with Realloc)
{ {
ArenaParams params{ .AllowRealloc = true }; ArenaParams params{ .AllowRealloc = true };
Arena* externalArena = ArenaAllocate(params); Arena* externalArena = ArenaAllocate(params);
NonNullPtr<Arena> validArena(externalArena); NonNullPtr<Arena> validArena(externalArena);
VectorArena<int, 4, true> vec = {}; VectorArena<int, 4, true> vec = {};