mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
array_view boundary test and fix. (#211)
This commit is contained in:
parent
cdeef0fecc
commit
1bf775ae3d
@ -433,7 +433,10 @@ namespace etl
|
||||
//*************************************************************************
|
||||
void remove_prefix(const size_type n)
|
||||
{
|
||||
mbegin += n;
|
||||
if (n < size())
|
||||
mbegin += n;
|
||||
else
|
||||
mbegin = mend;
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -441,7 +444,10 @@ namespace etl
|
||||
//*************************************************************************
|
||||
void remove_suffix(const size_type n)
|
||||
{
|
||||
mend -= n;
|
||||
if (n < size())
|
||||
mend -= n;
|
||||
else
|
||||
mend = mbegin;
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -598,6 +598,49 @@ namespace
|
||||
CHECK(isEqual);
|
||||
}
|
||||
|
||||
TEST(test_remove_prefix_boundary)
|
||||
{
|
||||
// On-point test
|
||||
std::vector<int> original = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||
|
||||
View view(original);
|
||||
|
||||
view.remove_prefix(original.size());
|
||||
|
||||
CHECK(view.empty());
|
||||
|
||||
// Off-point test
|
||||
|
||||
std::vector<int> original2 = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||
|
||||
View view2(original2);
|
||||
|
||||
view2.remove_prefix(original.size() + 1);
|
||||
|
||||
CHECK(view2.empty());
|
||||
}
|
||||
|
||||
TEST(test_remove_suffix_boundary)
|
||||
{
|
||||
// On-point test
|
||||
std::vector<int> original = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||
|
||||
View view(original);
|
||||
|
||||
view.remove_suffix(original.size());
|
||||
|
||||
CHECK(view.empty());
|
||||
|
||||
// Off-point test
|
||||
|
||||
std::vector<int> original2 = { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||
|
||||
View view2(original2);
|
||||
|
||||
view2.remove_suffix(original.size() + 1);
|
||||
|
||||
CHECK(view2.empty());
|
||||
}
|
||||
//*************************************************************************
|
||||
TEST(test_hash)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user