Cleaned up vector unit test useless lines
This commit is contained in:
@@ -149,11 +149,11 @@ namespace Juliet
|
||||
{
|
||||
// Initial capacity 4, allow realloc
|
||||
ArenaParams params{ .AllowRealloc = true };
|
||||
Arena* externalArena = ArenaAllocate(params);
|
||||
Arena* externalArena = ArenaAllocate(params);
|
||||
|
||||
VectorArena<int, 4, true> 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<MoveOnly, 4, true> vec = {};
|
||||
ArenaParams params{ .AllowRealloc = true };
|
||||
Arena* externalArena = ArenaAllocate(params);
|
||||
NonNullPtr<Arena> validArena(externalArena);
|
||||
ArenaParams params{ .AllowRealloc = true };
|
||||
Arena* externalArena = ArenaAllocate(params);
|
||||
NonNullPtr<Arena> 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<Arena> validArena(externalArena);
|
||||
|
||||
VectorArena<int, 4, true> 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<Arena> validArena(externalArena);
|
||||
|
||||
VectorArena<int> 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<Arena> validArena(externalArena);
|
||||
|
||||
VectorArena<int, 4, true> vec = {};
|
||||
|
||||
Reference in New Issue
Block a user