#include "gtest/gtest.h" #include "pistringlist.h" using namespace std; TEST(PIStringList_Tests, construct_empty){ PIStringList lis; ASSERT_TRUE(lis.isEmpty()); } TEST(PIStringList_Tests, construct_one_str_length){ PIString str1 = "first string"; PIStringList lis (str1); ASSERT_EQ(lis.length(),1); } TEST(PIStringList_Tests, construct_one_str_data){ PIString str1 = "first string"; PIStringList lis (str1); ASSERT_EQ(str1, lis[0]); } TEST(PIStringList_Tests, construct_one_str_move_length){ PIString str1 = "first string"; PIStringList lis (move(str1)); ASSERT_EQ(lis.length(), 1); } TEST(PIStringList_Tests, construct_one_str_move_data){ PIString str1 = "first string"; PIString str = str1; PIStringList lis (move(str)); ASSERT_EQ(str1, lis[0]); } TEST(PIStringList_Tests, construct_two_str_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIStringList lis (str1, str2); ASSERT_EQ(lis.length(), 2); } TEST(PIStringList_Tests, construct_two_str_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIStringList lis (str1, str2); ASSERT_EQ(str1, lis[0]); ASSERT_EQ(str2, lis[1]); } TEST(PIStringList_Tests, construct_two_str_move_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIStringList lis (move(str1), move(str2)); ASSERT_EQ(lis.length(), 2); } TEST(PIStringList_Tests, construct_two_str_move_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str1_res = str1; PIString str2_res = str2; PIStringList lis (move(str1), move(str2)); ASSERT_EQ(str1_res, lis[0]); ASSERT_EQ(lis[1], str2_res); } TEST(PIStringList_Tests, construct_three_str_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIStringList lis (str1, str2, str3); ASSERT_EQ(lis.length(),3); } TEST(PIStringList_Tests, construct_three_str_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIStringList lis (str1, str2, str3); ASSERT_EQ(lis[0], str1); ASSERT_EQ(lis[1], str2); ASSERT_EQ(lis[2], str3); } TEST(PIStringList_Tests, construct_three_str_move_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIStringList lis (move(str1), move(str2), move(str3)); ASSERT_EQ(lis.length(), 3); } TEST(PIStringList_Tests, construct_three_str_move_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str1_res = str1; PIString str2_res = str2; PIString str3_res = str3; PIStringList lis (move(str1), move(str2), move(str3)); ASSERT_EQ(lis[0], str1_res); ASSERT_EQ(lis[1], str2_res); ASSERT_EQ(lis[2], str3_res); } TEST(PIStringList_Tests, construct_four_str_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis (str1, str2, str3, str4); ASSERT_EQ(lis.length(), 4); } TEST(PIStringList_Tests, construct_four_str_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis (str1, str2, str3, str4); ASSERT_EQ(lis[0], str1); ASSERT_EQ(lis[1], str2); ASSERT_EQ(lis[2], str3); ASSERT_EQ(lis[3], str4); } TEST(PIStringList_Tests, construct_four_str_move_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis (move(str1), move(str2), move(str3), move(str4)); ASSERT_EQ(lis.length(), 4); } TEST(PIStringList_Tests, construct_four_str_move_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIString str1_res = str1; PIString str2_res = str2; PIString str3_res = str3; PIString str4_res = str4; PIStringList lis (move(str1), move(str2), move(str3), move(str4)); ASSERT_EQ(lis[0], str1_res); ASSERT_EQ(lis[1], str2_res); ASSERT_EQ(lis[2], str3_res); ASSERT_EQ(lis[3], str4_res); } TEST(PIStringList_Tests, construct_std_initializer_list_length){ PIStringList lis {"first string", "second string", "third string", "fourth string", "fourth string"}; ASSERT_EQ(lis.length(), 5); } TEST(PIStringList_Tests, construct_std_initializer_list_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis {"first string", "second string", "third string", "fourth string", "fourth string"}; ASSERT_EQ(lis[0], str1); ASSERT_EQ(lis[1], str2); ASSERT_EQ(lis[2], str3); ASSERT_EQ(lis[3], str4); ASSERT_EQ(lis[4], str4); } TEST(PIStringList_Tests, construct_list_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis {str1, str2, str3, str4}; PIStringList list (lis); ASSERT_EQ(list.length(), 4); } TEST(PIStringList_Tests, construct_list_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis {str1, str2, str3, str4}; PIStringList list (lis); ASSERT_EQ(list[0], str1); ASSERT_EQ(list[1], str2); ASSERT_EQ(list[2], str3); ASSERT_EQ(list[3], str4); } TEST(PIStringList_Tests, construct_list_move_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis {"first string", "second string", "third string", "fourth string"}; PIStringList list (move(lis)); ASSERT_EQ(list.length(), 4); } TEST(PIStringList_Tests, construct_list_move_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIStringList lis {"first string", "second string", "third string", "fourth string"}; PIStringList list (move(lis)); ASSERT_EQ(list[0], str1); ASSERT_EQ(list[1], str2); ASSERT_EQ(list[2], str3); ASSERT_EQ(list[3], str4); } TEST(PIStringList_Tests, construct_pivect_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIVector vect; vect.append(str1); vect.append(str2); vect.append(str3); vect.append(str4); PIStringList list (vect); ASSERT_EQ(list.length(), 4); } TEST(PIStringList_Tests, construct_pivect_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIVector vect; vect.append(str1); vect.append(str2); vect.append(str3); vect.append(str4); PIStringList list (vect); ASSERT_EQ(list[0], str1); ASSERT_EQ(list[1], str2); ASSERT_EQ(list[2], str3); ASSERT_EQ(list[3], str4); } TEST(PIStringList_Tests, construct_list_pideq_length){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIDeque deq; deq.append(str1); deq.append(str2); deq.append(str3); deq.append(str4); PIStringList list (deq); ASSERT_EQ(list.length(), 4); } TEST(PIStringList_Tests, construct_list_pideq_data){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIDeque deq; deq.append(str1); deq.append(str2); deq.append(str3); deq.append(str4); PIStringList list (deq); ASSERT_EQ(list[0], str1); ASSERT_EQ(list[1], str2); ASSERT_EQ(list[2], str3); ASSERT_EQ(list[3], str4); } TEST(PIStringList_Tests, join){ PIString str1 = "first string"; PIString str2 = "second string"; PIString str3 = "third string"; PIString str4 = "fourth string"; PIString del = ", "; PIStringList lis {str1, str2, str3, str4}; ASSERT_EQ(lis.join(del), "first string, second string, third string, fourth string"); } TEST(PIStringList_Tests, remove_strings_length){ PIString str1 = "first string"; PIString str2 = "string"; PIString str3 = "third string"; PIString str4 = "string"; PIString val = "string"; PIStringList lis {str1, str2, str3, str4}; lis.removeStrings(val); ASSERT_EQ(lis.length(), 2); } TEST(PIStringList_Tests, remove_strings_data){ PIString str1 = "first string"; PIString str2 = "string"; PIString str3 = "third string"; PIString str4 = "string"; PIString val = "string"; PIStringList lis {str1, str2, str3, str4}; lis.removeStrings(val); ASSERT_EQ(lis[0], "first string"); ASSERT_EQ(lis[1], "third string"); }