stuff-from-scratch/test/core/TestVector.cpp

40 lines
718 B
C++
Raw Normal View History

2023-12-18 10:16:31 +00:00
#include "Vector.h"
#include "TestFramework.h"
2023-12-20 16:58:22 +00:00
TEST_CASE(TestVectorExtend, "core")
2023-12-18 10:16:31 +00:00
{
Vector<size_t> vec;
2023-12-20 16:58:22 +00:00
for(size_t idx=0; idx<16; idx++)
2023-12-18 10:16:31 +00:00
{
vec.push_back(idx);
}
2023-12-20 16:58:22 +00:00
REQUIRE(vec.size() == 16);
Vector<size_t> vec0;
for(size_t idx=16; idx<19; idx++)
2023-12-18 10:16:31 +00:00
{
2023-12-20 16:58:22 +00:00
vec0.push_back(idx);
2023-12-18 10:16:31 +00:00
}
2023-12-20 16:58:22 +00:00
vec.extend(vec0);
REQUIRE(vec.size() == 19);
}
TEST_CASE(TestVectorSlize, "core")
{
Vector<size_t> vec;
for(size_t idx=0; idx<8; idx++)
{
vec.push_back(idx);
}
Vector<size_t> bottom_half;
vec.slice(4, bottom_half);
REQUIRE(bottom_half.size() == 4);
Vector<size_t> top_half;
vec.slice(4, 8, top_half);
REQUIRE(top_half.size() == 4);
2023-12-18 10:16:31 +00:00
}