Advertisement
TwITe

Untitled

Aug 20th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.18 KB | None | 0 0
  1. //Vector_set
  2. #include <iostream>
  3. #include <vector>
  4. #include <cassert>
  5. using namespace std;
  6.  
  7. vector <int> vector_set;
  8.  
  9. void destroy_vector_set() {
  10.     vector_set.clear();
  11. }
  12.  
  13. bool find_element(int number) {
  14.     for (auto element : vector_set) {
  15.         if (element == number) {
  16.             return true;
  17.         }
  18.     }
  19.     return false;
  20. }
  21.  
  22. void add_element(int number) {
  23.     if (!find_element(number)) {
  24.         vector_set.push_back(number);
  25.     }
  26. }
  27.  
  28. bool delete_element(int number) {
  29.     for (int i = 0; i < vector_set.size(); i++) {
  30.         if (vector_set[i] == number) {
  31.             vector_set.erase(vector_set.begin() + i);
  32.             return true;
  33.         }
  34.     }
  35.     return false;
  36. }
  37.  
  38. //Тесты
  39.  
  40. void can_add_elements_to_vector_set_test() {
  41.     destroy_vector_set();
  42.  
  43.     for (int i = 0; i < 2000; i++) {
  44.         add_element(i);
  45.     }
  46.     for (int i = 0; i < 2000; i++) {
  47.         assert(find_element(i) == true);
  48.     }
  49. }
  50.  
  51. void cannot_delete_not_existed_element_test() {
  52.     destroy_vector_set();
  53.  
  54.     for (int i = 0; i < 1000; i++) {
  55.         add_element(i);
  56.     }
  57.  
  58.     assert(delete_element(1000) == false);
  59.     assert(delete_element(2000) == false);
  60.     assert(delete_element(2500) == false);
  61.     assert(delete_element(3000) == false);
  62. }
  63.  
  64. void can_delete_existed_element_test() {
  65.     destroy_vector_set();
  66.  
  67.     for (int i = 0; i < 5; i++) {
  68.         add_element(i * 2);
  69.     }
  70.  
  71.     assert(delete_element(2) == true);
  72.     assert(delete_element(6) == true);
  73.  
  74.     assert(find_element(0) == true);
  75.     assert(find_element(4) == true);
  76.     assert(find_element(8) == true);
  77. }
  78.  
  79. void can_find_element_with_valid_value_test() {
  80.     destroy_vector_set();
  81.  
  82.     for (int i = 0; i < 10; i++) {
  83.         add_element(i + 2);
  84.     }
  85.  
  86.     for (int i = 0; i < 10; i++) {
  87.         assert(find_element(i + 2) == true);
  88.     }
  89. }
  90.  
  91. void cannot_find_element_with_invalid_value_test() {
  92.     destroy_vector_set();
  93.  
  94.     for (int i = 0; i < 10; ++i) {
  95.         add_element(i + 2);
  96.     }
  97.  
  98.     assert(find_element(0) == false);
  99.    
  100.     for (int i = 20; i < 100; i++) {
  101.         assert(find_element(i) == false);
  102.     }
  103. }
  104.  
  105. int main() {
  106.     can_add_elements_to_vector_set_test();
  107.     cannot_delete_not_existed_element_test;
  108.     can_delete_existed_element_test();
  109.     can_find_element_with_valid_value_test();
  110.     cannot_find_element_with_invalid_value_test();
  111.  
  112.     system("PAUSE");
  113.     return 0;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement