Cleaned up vector unit test useless lines
This commit is contained in:
@@ -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 = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user