Advertisement
gurenko

Untitled

May 15th, 2024
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. void TestExcludeMinusWordsFromResults(){
  2.  
  3.    
  4.     SearchServer search_server;
  5.     search_server.SetStopWords("in the"s);
  6.    
  7.     search_server.AddDocument(0, "кот"s,        DocumentStatus::ACTUAL, {5, 5});
  8.     search_server.AddDocument(1, "пушистый"s,       DocumentStatus::ACTUAL, {3, 3, 3});
  9.     search_server.AddDocument(2, "ухоженный"s, DocumentStatus::ACTUAL, {1, -1, 1, 1});
  10.  
  11.  
  12.     vector <Document> docs =  search_server.FindTopDocuments("кот пушистый ухоженный"s);
  13.  
  14.  
  15.     vector <Document> docs1 =  search_server.FindTopDocuments("-кот пушистый ухоженный"s);
  16.     ASSERT_EQUAL(docs1.size(), 2);
  17.     ASSERT_EQUAL_HINT(docs1.at(0).id, 1, "Найден документ, содержащий минус слова"s);
  18.     ASSERT_EQUAL_HINT(docs1.at(1).id, 2, "Найден документ, содержащий минус слова"s);
  19.  
  20.     vector <Document> docs2 =  search_server.FindTopDocuments("кот -пушистый ухоженный"s);
  21.     ASSERT_EQUAL(docs2.size(), 2);
  22.     ASSERT_EQUAL_HINT(docs2.at(0).id, 0, "Найден документ, содержащий минус слова"s);
  23.     ASSERT_EQUAL_HINT(docs2.at(1).id, 2, "Найден документ, содержащий минус слова"s);
  24.  
  25.     vector <Document> docs3 =  search_server.FindTopDocuments("кот пушистый -ухоженный "s);
  26.     ASSERT_EQUAL(docs3.size(), 2);
  27.     ASSERT_EQUAL_HINT(docs3.at(0).id, 0, "Найден документ, содержащий минус слова"s);
  28.     ASSERT_EQUAL_HINT(docs3.at(1).id, 1, "Найден документ, содержащий минус слова"s);
  29.  
  30.     vector <Document> docs4 =  search_server.FindTopDocuments("-кот -пушистый -ухоженный "s);
  31.             ASSERT_HINT(docs4.empty(), "Найден документ, содержащий минус слова"s);
  32.  
  33.    
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement