/
Xakka
/
CPP2
Обзор
Документация
Войти
/
Xakka
/
CPP2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/tests/test_s21_multiset.cpp
323 строки
7 KB
moshedur
master: release 1.0
04 янв 2025, 23:35
04 янв 2025, 23:35
1c45f0a
Код
Авторство
О чём код?
#include "test_s21.h" class test_multiset : public testing::Test { public: }; TEST(test_multiset, test_constructor) { s21::s21_multiset<int> multi; ASSERT_EQ(multi.size(), 0); } TEST(s21_multiset, init_list_constructor_1) { s21::s21_multiset<int> a{1}; EXPECT_EQ(1, a.size()); } TEST(s21_multiset, init_list_constructor_2) { s21::s21_multiset<int> a{1, 2}; EXPECT_EQ(2, a.size()); } TEST(s21_multiset, init_list_constructor_3) { s21::s21_multiset<int> a{1, 2, 1}; EXPECT_EQ(3, a.size()); } TEST(s21_multiset, init_list_constructor_4) { s21::s21_multiset<int> a{1, 2, 1, 2}; EXPECT_EQ(4, a.size()); } TEST(s21_multiset, copy_constructor_1) { s21::s21_multiset<int> s1 = {1, 2, 3}; s21::s21_multiset<int> s2(s1); EXPECT_EQ(s1.size(), s2.size()); } TEST(s21_multiset, swap_1) { s21::s21_multiset<int> a{1, 2, 1}; EXPECT_EQ(3, a.size()); s21::s21_multiset<int> b{3, 4, 5}; EXPECT_EQ(3, b.size()); a.swap(b); EXPECT_EQ(3, a.size()); EXPECT_EQ(3, b.size()); } TEST(s21_multiset, merge_1) { s21::s21_multiset<int> a{1}; EXPECT_EQ(1, a.size()); s21::s21_multiset<int> b{2}; EXPECT_EQ(1, a.size()); a.merge(b); EXPECT_EQ(2, a.size()); } TEST(s21_multiset, merge_2) { s21::s21_multiset<int> a{1}; EXPECT_EQ(1, a.size()); s21::s21_multiset<int> b{1}; EXPECT_EQ(1, a.size()); a.merge(b); EXPECT_EQ(2, a.size()); } TEST(s21_multiset, merge_3) { s21::s21_multiset<int> a{1, 2, 3}; EXPECT_EQ(3, a.size()); s21::s21_multiset<int> b{4, 5, 6}; EXPECT_EQ(3, a.size()); a.merge(b); EXPECT_EQ(6, a.size()); } TEST(s21_multiset, merge_4) { s21::s21_multiset<int> a{1, 2, 1}; EXPECT_EQ(3, a.size()); s21::s21_multiset<int> b{3, 4, 5}; EXPECT_EQ(3, b.size()); a.merge(b); EXPECT_EQ(6, a.size()); } TEST(s21_multiset, insert_1) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.insert(4).second); EXPECT_EQ(1, a.size()); } TEST(s21_multiset, insert_2) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.insert(4).second); EXPECT_EQ(1, a.size()); EXPECT_EQ(true, a.insert(5).second); EXPECT_EQ(2, a.size()); } TEST(s21_multiset, insert_3) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.insert(4).second); EXPECT_EQ(1, a.size()); EXPECT_EQ(true, a.insert(5).second); EXPECT_EQ(2, a.size()); EXPECT_EQ(false, a.insert(4).second); EXPECT_EQ(3, a.size()); } TEST(s21_multiset, insert_4) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.insert(4).second); EXPECT_EQ(1, a.size()); EXPECT_EQ(true, a.insert(5).second); EXPECT_EQ(2, a.size()); EXPECT_EQ(false, a.insert(4).second); EXPECT_EQ(3, a.size()); EXPECT_EQ(false, a.insert(5).second); EXPECT_EQ(4, a.size()); } TEST(s21_multiset, insert_5) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.insert(4).second); EXPECT_EQ(1, a.size()); EXPECT_EQ(true, a.insert(3).second); EXPECT_EQ(2, a.size()); } TEST(s21_multiset, erase) { s21::s21_multiset<int> s{1, 2, 3, 4, 5}; auto it = s.find(3); s.erase(it); EXPECT_EQ(s.size(), 4); EXPECT_FALSE(s.contains(3)); } TEST(s21_multiset, erase_2) { s21::s21_multiset<int> s{1, 2, 3, 4, 5}; auto it = s.find(3); s.erase(it); EXPECT_EQ(s.size(), 4); it = s.find(1); s.erase(it); EXPECT_EQ(s.size(), 3); EXPECT_FALSE(s.contains(3)); } TEST(s21_multiset, erase_3) { s21::s21_multiset<int> s{1, 1, 1, 4, 5}; auto it = s.find(1); s.erase(it); EXPECT_EQ(s.size(), 4); it = s.find(1); s.erase(it); EXPECT_EQ(s.size(), 3); it = s.find(1); s.erase(it); EXPECT_EQ(s.size(), 2); EXPECT_FALSE(s.contains(1)); } TEST(s21_multiset, erase_4) { s21::s21_multiset<int> a{3, 2, 4, 1, 5}; auto it = a.find(3); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(3)); } TEST(s21_multiset, erase_5) { s21::s21_multiset<int> a{1, 2, 3, 4, 5}; auto it = a.find(5); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(5)); } TEST(s21_multiset, erase_6) { s21::s21_multiset<int> a{1, 2, 3, 4, 5}; auto it = a.find(1); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(1)); } TEST(s21_multiset, erase_7) { s21::s21_multiset<int> a{5, 4, 3, 2, 1}; auto it = a.find(1); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(1)); } TEST(s21_multiset, erase_8) { s21::s21_multiset<int> a{5, 4, 3, 2, 1}; auto it = a.find(5); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(5)); } TEST(s21_multiset, erase_9) { s21::s21_multiset<int> a{5, 4, 3, 2, 1}; auto it = a.find(3); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(3)); } TEST(s21_multiset, erase_10) { s21::s21_multiset<int> a{3, 2, 4, 1, 5}; auto it = a.find(1); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(1)); } TEST(s21_multiset, erase_11) { s21::s21_multiset<int> a{3, 2, 4, 1, 5}; auto it = a.find(5); a.erase(it); EXPECT_EQ(a.size(), 4); EXPECT_FALSE(a.contains(5)); } TEST(s21_multiset, empty_1) { s21::s21_multiset<int> a{1}; EXPECT_EQ(false, a.empty()); } TEST(s21_multiset, empty_2) { s21::s21_multiset<int> a; EXPECT_EQ(true, a.empty()); } TEST(s21_multiset, empty_3) { s21::s21_multiset<int> a{1}; EXPECT_EQ(false, a.empty()); a.clear(); EXPECT_EQ(true, a.empty()); } TEST(s21_multiset, begin_1) { s21::s21_multiset<int> a{3, 5, 1, 4, 2}; auto it1 = a.begin(); auto it2 = a.end(); EXPECT_EQ(*it1, 1); EXPECT_EQ(*it2, 5); } TEST(s21_multiset, operator_move_1) { s21::s21_multiset<int> a{1, 2, 3}; s21::s21_multiset<int> b; b = std::move(a); EXPECT_EQ(true, a.empty()); EXPECT_EQ(3, b.size()); EXPECT_EQ(1, *b.find(1)); EXPECT_EQ(2, *b.find(2)); EXPECT_EQ(3, *b.find(3)); } TEST(s21_multiset, operator_move_2) { s21::s21_multiset<int> a{1, 2, 3}; a = std::move(a); EXPECT_EQ(3, a.size()); EXPECT_EQ(1, *a.find(1)); EXPECT_EQ(2, *a.find(2)); EXPECT_EQ(3, *a.find(3)); } TEST(s21_multiset, count_1) { s21::s21_multiset<int> a{1, 2, 3}; EXPECT_EQ(1, a.count(1)); } TEST(s21_multiset, count_2) { s21::s21_multiset<int> a{1, 1, 1, 1, 1, 2, 2, 2, 3}; EXPECT_EQ(5, a.count(1)); } TEST(s21_multiset, count_3) { s21::s21_multiset<int> a{1, 1, 1, 1, 1, 2, 2, 2, 3}; EXPECT_EQ(1, a.count(3)); } TEST(s21_multiset, count_4) { s21::s21_multiset<int> a{1, 1, 1, 1, 1, 2, 2, 2, 3}; EXPECT_EQ(3, a.count(2)); } TEST(s21_multiset, count_5) { s21::s21_multiset<int> a{1, 1, 1, 1, 1, 2, 2, 2, 3}; EXPECT_EQ(0, a.count(4)); } TEST(s21_multiset, lower) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(3, a.lower_bound(3).m_node->key); } TEST(s21_multiset, lower_1) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(3, a.lower_bound(2).m_node->key); } TEST(s21_multiset, lower_2) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(nullptr, &a.lower_bound(11).m_node->key); } TEST(s21_multiset, upper) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(3, a.upper_bound(2).m_node->key); } TEST(s21_multiset, upper_1) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(5, a.upper_bound(3).m_node->key); } TEST(s21_multiset, upper_2) { s21::s21_multiset<int> a{1, 3, 5, 7, 9}; EXPECT_EQ(nullptr, &a.upper_bound(10).m_node->key); }