Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Insert() {
- typedef int type_t;
- constexpr size_t SIZE = 4u;
- constexpr type_t VALUE = 5;
- constexpr std::initializer_list<type_t> LIST = {1, 2, 3, 4};
- constexpr size_t LIST_SIZE = LIST.size();
- {
- SimpleVector<type_t> v;
- PRACTIKUM_ASSERT(v.Insert(v.end(), -10) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(v[0] == -10);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -11) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == 2u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(v[0] == -10);
- PRACTIKUM_ASSERT(v[1] == -11);
- const size_t old_capacity = v.GetCapacity();
- v.Clear();
- PRACTIKUM_ASSERT(v.Insert(v.end(), -1) == v.end() - 1);
- PRACTIKUM_ASSERT(v[0] == -1);
- PRACTIKUM_ASSERT(v.GetSize() == 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() == old_capacity);
- }
- {
- SimpleVector<type_t> v(SIZE);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -10) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == SIZE + 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 1u, [](const type_t& item) {
- return item == type_t{};
- }));
- PRACTIKUM_ASSERT(v[SIZE] == -10);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -11) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == SIZE + 2u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 2u, [](const type_t& item) {
- return item == type_t{};
- }));
- PRACTIKUM_ASSERT(v[SIZE] == -10);
- PRACTIKUM_ASSERT(v[SIZE+1u] == -11);
- const size_t old_capacity = v.GetCapacity();
- v.Clear();
- PRACTIKUM_ASSERT(v.Insert(v.end(), -1) == v.end() - 1);
- PRACTIKUM_ASSERT(v[0] == -1);
- PRACTIKUM_ASSERT(v.GetSize() == 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() == old_capacity);
- }
- {
- SimpleVector<type_t> v(SIZE, VALUE);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -10) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == SIZE + 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 1u, [](const type_t& item) {
- return item == VALUE;
- }));
- PRACTIKUM_ASSERT(v[SIZE] == -10);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -11) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == SIZE + 2u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 2u, [](const type_t& item) {
- return item == VALUE;
- }));
- PRACTIKUM_ASSERT(v[SIZE] == -10);
- PRACTIKUM_ASSERT(v[SIZE+1u] == -11);
- const size_t old_capacity = v.GetCapacity();
- v.Clear();
- PRACTIKUM_ASSERT(v.Insert(v.end(), -1) == v.end() - 1);
- PRACTIKUM_ASSERT(v[0] == -1);
- PRACTIKUM_ASSERT(v.GetSize() == 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() == old_capacity);
- }
- {
- SimpleVector<type_t> v(LIST);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -10) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == LIST_SIZE + 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- auto iter = LIST.begin();
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 1u, [&iter](const type_t& item) {
- return item == *iter++;
- }));
- PRACTIKUM_ASSERT(v[LIST_SIZE] == -10);
- PRACTIKUM_ASSERT(v.Insert(v.end(), -11) == v.end() - 1);
- PRACTIKUM_ASSERT(v.GetSize() == LIST_SIZE + 2u);
- PRACTIKUM_ASSERT(v.GetCapacity() >= v.GetSize());
- iter = LIST.begin();
- PRACTIKUM_ASSERT(std::all_of(v.begin(), v.end() - 2u, [&iter](const type_t& item) {
- return item == *iter++;
- }));
- PRACTIKUM_ASSERT(v[LIST_SIZE] == -10);
- PRACTIKUM_ASSERT(v[LIST_SIZE+1u] == -11);
- const size_t old_capacity = v.GetCapacity();
- v.Clear();
- PRACTIKUM_ASSERT(v.Insert(v.end(), -1) == v.end() - 1);
- PRACTIKUM_ASSERT(v[0] == -1);
- PRACTIKUM_ASSERT(v.GetSize() == 1u);
- PRACTIKUM_ASSERT(v.GetCapacity() == old_capacity);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement