mirror of
https://github.com/ETLCPP/etl.git
synced 2026-11-10 15:19:50 +08:00
Merge remote-tracking branch 'origin/development'
This commit is contained in:
commit
b0063d1d08
@ -463,7 +463,7 @@ namespace etl
|
||||
if (i_node != end())
|
||||
{
|
||||
// Reduce.
|
||||
erase_after(i_node, end());
|
||||
erase_after(i_last_node, end());
|
||||
}
|
||||
else if (i_node == end())
|
||||
{
|
||||
|
||||
@ -182,6 +182,24 @@ namespace
|
||||
CHECK_THROW(data.resize(data.max_size() + 1), etl::forward_list_full);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_resize_down)
|
||||
{
|
||||
const size_t INITIAL_SIZE = 4;
|
||||
const size_t NEW_SIZE = 2;
|
||||
const ItemNDC VALUE("1");
|
||||
|
||||
DataNDC data(INITIAL_SIZE, VALUE);
|
||||
data.resize(NEW_SIZE, VALUE);
|
||||
|
||||
CompareDataNDC compare_data(INITIAL_SIZE, VALUE);
|
||||
compare_data.resize(NEW_SIZE, VALUE);
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
CHECK(are_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_clear)
|
||||
{
|
||||
@ -532,6 +550,20 @@ namespace
|
||||
CHECK(are_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_unique_empty)
|
||||
{
|
||||
CompareDataNDC compare_data;
|
||||
DataNDC data;
|
||||
|
||||
compare_data.unique();
|
||||
data.unique();
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
CHECK(are_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_unique)
|
||||
{
|
||||
@ -670,6 +702,26 @@ namespace
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
CHECK(are_equal);
|
||||
|
||||
// Move to same.
|
||||
i_from_before = data.begin();
|
||||
std::advance(i_from_before, 3);
|
||||
|
||||
i_to_before = data.begin();
|
||||
std::advance(i_to_before, 3);
|
||||
|
||||
i_compare_from_before = compare_data.begin();
|
||||
std::advance(i_compare_from_before, 3);
|
||||
|
||||
i_compare_to_before = compare_data.begin();
|
||||
std::advance(i_compare_to_before, 3);
|
||||
|
||||
compare_data.splice_after(i_compare_to_before, compare_data, i_compare_from_before);
|
||||
data.move_after(i_from_before, i_to_before);
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
CHECK(are_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -731,18 +783,6 @@ namespace
|
||||
compare_data.splice_after(i_compare_to_before, compare_data, i_compare_first_before, i_compare_last);
|
||||
data.move_after(i_first_before, i_last, i_to_before);
|
||||
|
||||
//DataNDC::const_iterator id = data.begin();
|
||||
//CompareDataNDC::const_iterator ic = compare_data.begin();
|
||||
|
||||
//ItemNDC d;
|
||||
//ItemNDC c;
|
||||
|
||||
//while (ic != compare_data.end())
|
||||
//{
|
||||
// d = *id++;
|
||||
// c = *ic++;
|
||||
//}
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
// Move to nearby.
|
||||
@ -769,6 +809,30 @@ namespace
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
// Move to same.
|
||||
i_first_before = data.begin();
|
||||
std::advance(i_first_before, 4);
|
||||
|
||||
i_last = i_first_before;
|
||||
std::advance(i_last, 4);
|
||||
|
||||
i_to_before = data.begin();
|
||||
std::advance(i_to_before, 4);
|
||||
|
||||
i_compare_first_before = compare_data.begin();
|
||||
std::advance(i_compare_first_before, 4);
|
||||
|
||||
i_compare_last = i_compare_first_before;
|
||||
std::advance(i_compare_last, 4);
|
||||
|
||||
i_compare_to_before = compare_data.begin();
|
||||
std::advance(i_compare_to_before, 4);
|
||||
|
||||
compare_data.splice_after(i_compare_to_before, compare_data, i_compare_first_before, i_compare_last);
|
||||
data.move_after(i_first_before, i_last, i_to_before);
|
||||
|
||||
are_equal = std::equal(data.begin(), data.end(), compare_data.begin());
|
||||
|
||||
// Move to illegal place.
|
||||
i_first_before = data.begin();
|
||||
std::advance(i_first_before, 2);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user