PIStringList Tests

This commit is contained in:
2020-10-01 15:19:53 +03:00
parent 430272757e
commit d4eab0546f

View File

@@ -0,0 +1,316 @@
#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){
PIString str1 = "first string";
PIStringList lis {str1};
ASSERT_TRUE(str1 == lis[0] && lis.length() == 1);
}
TEST(PIStringList_Tests, construct_one_str_rvalue){
PIString str1 = "first string";
PIStringList lis {"first string"};
ASSERT_TRUE(str1 == lis[0] && lis.length() == 1);
}
TEST(PIStringList_Tests, construct_two_str){
PIString str1 = "first string";
PIString str2 = "second string";
PIStringList lis {str1, str2};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis.length() == 2);
}
TEST(PIStringList_Tests, construct_two_str_rvalue){
PIString str1 = "first string";
PIString str2 = "second string";
PIStringList lis {"first string", "second string"};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis.length() == 2);
}
TEST(PIStringList_Tests, construct_three_str){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIStringList lis {str1, str2, str3};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis.length() == 3);
}
TEST(PIStringList_Tests, construct_three_str_rvalue){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIStringList lis {"first string", "second string", "third string"};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis.length() == 3);
}
TEST(PIStringList_Tests, construct_four_str){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis[3] == str4 && lis.length() == 4);
}
TEST(PIStringList_Tests, construct_four_str_rvalue){
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"};
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis[3] == str4 && lis.length() == 4);
}
TEST(PIStringList_Tests, construct_list){
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_TRUE(str1 == list[0] && list[1] == str2 && list[2] == str3 && list[3] == str4 && list.length() == 4);
}
TEST(PIStringList_Tests, construct_list_rvalue){
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_TRUE(str1 == list[0] && list[1] == str2 && list[2] == str3 && list[3] == str4 && list.length() == 4);
}
TEST(PIStringList_Tests, construct_pivect){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIVector<PIString> vect;
vect.append(str1);
vect.append(str2);
vect.append(str3);
vect.append(str4);
PIStringList list {vect};
ASSERT_TRUE(str1 == list[0] && list[1] == str2 && list[2] == str3 && list[3] == str4 && list.length() == 4);
}
TEST(PIStringList_Tests, construct_list_pideq){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIDeque<PIString> deq;
deq.append(str1);
deq.append(str2);
deq.append(str3);
deq.append(str4);
PIStringList list {deq};
ASSERT_TRUE(str1 == list[0] && list[1] == str2 && list[2] == str3 && list[3] == str4 && list.length() == 4);
}
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_TRUE(lis.join(del) == "first string, second string, third string, fourth string");
}
TEST(PIStringList_Tests, remove_strings){
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_TRUE(lis[0] == "first string" && lis[1] == "third string" && lis.length() == 2);
}
TEST(PIStringList_Tests, remove){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
lis.remove(2);
ASSERT_TRUE(lis[0] == "first string" && lis[1] == "second string" && lis[2] == "fourth string" && lis.length() == 3);
}
TEST(PIStringList_Tests, remove_count){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
lis.remove(2,2);
ASSERT_TRUE(lis[0] == "first string" && lis[1] == "second string" && lis.length() == 2);
}
TEST(PIStringList_Tests, remove_Duplicates){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "first string";
PIString str4 = "second string";
PIStringList lis {str1, str2, str3, str4};
lis.removeDuplicates();
ASSERT_TRUE(lis[0] == "first string" && lis[1] == "second string" && lis.length() == 2);
}
TEST(PIStringList_Tests, trim){
PIString str1 = " first string ";
PIString str2 = "second string ";
PIString str3 = " third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
lis.trim();
ASSERT_TRUE(lis[0] == "first string" && lis[1] == "second string" && lis[2] == "third string" && lis[3] == "fourth string" && lis.length() == 4);
}
TEST(PIStringList_Tests, content_size){
PIString str1 = " first string ";
PIString str2 = "second string ";
PIString str3 = " third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
ASSERT_TRUE(lis.contentSize() == 54);
}
TEST(PIStringList_Tests, operator_compare){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_TRUE(lis == lis1);
}
TEST(PIStringList_Tests, operator_compare_false){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_FALSE(lis == lis1);
}
TEST(PIStringList_Tests, operator_compare_size){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_FALSE(lis == lis1);
}
TEST(PIStringList_Tests, operator_compare_unequal
){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_FALSE(lis != lis1);
}
TEST(PIStringList_Tests, operator_compare_unequal_false){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_TRUE(lis != lis1);
}
TEST(PIStringList_Tests, operator_compare_unequal_size){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "third string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3};
PIStringList lis1 {"first string", "second string", "third string", "fourth string"};
ASSERT_TRUE(lis != lis1);
}
TEST(PIStringList_Tests, operator_assignment){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3, str4};
PIStringList lis1 = lis;
ASSERT_TRUE(str1 == lis1[0] && lis1[1] == str2 && lis1[2] == str3 && lis1[3] == str4 && lis1.length() == 4);
}
TEST(PIStringList_Tests, operator_shift){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3};
lis << str4;
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis[3] == str4 && lis.length() == 4);
}
TEST(PIStringList_Tests, operator_shift_rvalue){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2, str3};
lis << "fourth string";
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis[3] == str4 && lis.length() == 4);
}
TEST(PIStringList_Tests, operator_shift_pistringlist){
PIString str1 = "first string";
PIString str2 = "second string";
PIString str3 = "thord string";
PIString str4 = "fourth string";
PIStringList lis {str1, str2};
PIStringList lis1 {str3, str4};
lis << lis1;
ASSERT_TRUE(str1 == lis[0] && lis[1] == str2 && lis[2] == str3 && lis[3] == str4 && lis.length() == 4);
}
TEST(PIStringList_Tests, operator_shift_pibytearray){
PIString str1 = "first string";
PIString str2 = "second string";
PIStringList lis {str1, str2};
PIByteArray arr;
arr << lis;
PIByteArray res[] = {2, 0, 0, 0, 12, 0, 0, 0, 102, 0, 105, 0, 114, 0, 115, 0, 116, 0, 32, 0, 115, 0, 116, 0, 114, 0, 105, 0, 110, 0, 103, 0,
13, 0, 0, 0, 115, 0, 101, 0, 99, 0, 111, 0, 110, 0, 100, 0, 32, 0, 115, 0, 116, 0, 114, 0, 105, 0, 110, 0, 103, 0};
bool fl = true;
for(size_t x = 0; x < arr.length(); x++) {
if(res[x] != arr[x]) fl = false;
}
ASSERT_TRUE(fl);
}
TEST(PIStringList_Tests, operator_shift_right_pibytearray){
PIString str1 = "first string";
PIString str2 = "second string";
PIStringList res {str1, str2};
PIByteArray arr;
arr << res;
PIStringList list;
arr >> list;
ASSERT_TRUE(res == list);
}