463 lines
9.9 KiB
C++
463 lines
9.9 KiB
C++
#include "pistring.h"
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
using namespace std;
|
|
|
|
TEST(PIString_Tests, constructor_empty) {
|
|
PIString str1;
|
|
ASSERT_TRUE(str1.isEmpty());
|
|
}
|
|
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pichar) {
|
|
PIString str1 = "AB C";
|
|
const PIChar str2 = ' ';
|
|
str1 += str2;
|
|
PIString res = "AB C ";
|
|
ASSERT_EQ(str1, res);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pichar_zero1) {
|
|
PIString str1 = "";
|
|
const PIChar str2 = 'D';
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "D");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_cstring) {
|
|
PIString str1 = "AB C";
|
|
const char * str2 = "D D ";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "AB CD D ");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_cstring_zero1) {
|
|
PIString str1 = "";
|
|
const char * str2 = "D D ";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "D D ");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_wchar) {
|
|
PIString str1 = "AB C";
|
|
wchar_t str2[] = L"C";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "AB CC");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_wchar_zero1) {
|
|
PIString str1 = "";
|
|
wchar_t str2[] = L"C";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "C");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pistring) {
|
|
PIString str1 = "AB C";
|
|
PIString str2 = " CD ";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "AB C CD ");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pistring_zero1) {
|
|
PIString str1 = "";
|
|
PIString str2 = "D DD";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "D DD");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pistring_zero2) {
|
|
PIString str1 = "AB C";
|
|
PIString str2 = "";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "AB C");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_pistring_zero_zero) {
|
|
PIString str1;
|
|
PIString str2;
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "");
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_pistring) {
|
|
PIString str1 = "New";
|
|
PIString str(str1);
|
|
ASSERT_EQ(str1, str);
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_pistring_move) {
|
|
PIString str1 = "New";
|
|
PIString res = str1;
|
|
PIString str(std::move(str1));
|
|
ASSERT_EQ(res, str);
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_pichar) {
|
|
PIChar str1 = 'n';
|
|
PIString res = "n";
|
|
ASSERT_EQ(res, PIString(str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_char) {
|
|
char str1 = 'n';
|
|
PIString res = "n";
|
|
ASSERT_EQ(res, PIString(str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_cstring) {
|
|
char str1[] = "mew";
|
|
PIString res = "mew";
|
|
ASSERT_EQ(res, PIString(str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_wchar_string) {
|
|
wchar_t str1[] = L"gav";
|
|
PIString res = "gav";
|
|
ASSERT_EQ(res, PIString(str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_pibyte_array) {
|
|
PIByteArray str1;
|
|
str1.append('m');
|
|
PIString res = "m";
|
|
ASSERT_EQ(res, PIString::fromUTF8(str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_pichar_array) {
|
|
PIChar str1[3];
|
|
str1[0] = 'n';
|
|
str1[1] = 'e';
|
|
str1[2] = 'w';
|
|
PIString res = "new";
|
|
ASSERT_EQ(res, PIString(str1, 3));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_char_array) {
|
|
char str1[] = "good";
|
|
PIString res = "good";
|
|
ASSERT_EQ(res, PIString(str1, 4));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_char_len) {
|
|
char str1 = 'n';
|
|
PIString res = "nnn";
|
|
ASSERT_EQ(res, PIString(3, str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, construct_from_pichar_len) {
|
|
PIChar str1 = 'n';
|
|
PIString res = "nnnnn";
|
|
ASSERT_EQ(res, PIString(5, str1));
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_assignment) {
|
|
PIString str1 = "testing";
|
|
PIString str;
|
|
str = str1;
|
|
ASSERT_EQ(PIString("testing"), str);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_assignment_move) {
|
|
PIString str1 = "testing";
|
|
PIString str;
|
|
str = std::move(str1);
|
|
ASSERT_EQ(PIString("testing"), str);
|
|
ASSERT_TRUE(str1.isEmpty());
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_symbol) {
|
|
PIString str1 = "testing";
|
|
PIChar symbo = 'i';
|
|
ASSERT_EQ(symbo, str1[4]);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_pistring_true) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_pistring_false) {
|
|
PIString str1 = "tes";
|
|
PIString str2 = "testing";
|
|
ASSERT_FALSE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_pichar_true) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_TRUE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_pichar_false) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'p';
|
|
ASSERT_FALSE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_cstring_true) {
|
|
PIString str1 = "test";
|
|
char str2[] = "test";
|
|
ASSERT_TRUE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_equal_cstring_false) {
|
|
PIString str1 = "t";
|
|
char str2[] = "test";
|
|
ASSERT_FALSE(str1 == str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_pistring_false) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_FALSE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_pistring_true) {
|
|
PIString str1 = "tes";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_pichar_false) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_FALSE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_pichar_true) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'p';
|
|
ASSERT_TRUE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_cstring_false) {
|
|
PIString str1 = "test";
|
|
char str2[] = "test";
|
|
ASSERT_FALSE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_not_equal_cstring_true) {
|
|
PIString str1 = "t";
|
|
char str2[] = "test";
|
|
ASSERT_TRUE(str1 != str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pistring_true) {
|
|
PIString str1 = "testin";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pistring_false) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testin";
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pistring_false_equal) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pichar_true) {
|
|
PIString str1 = "a";
|
|
PIChar str2 = 't';
|
|
ASSERT_TRUE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pichar_false) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'a';
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_pichar_false_equal) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_cstring_true) {
|
|
PIString str1 = "a";
|
|
char str2[] = "t";
|
|
ASSERT_TRUE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_cstring_false) {
|
|
PIString str1 = "t";
|
|
char str2[] = "a";
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_cstring_false_equal) {
|
|
PIString str1 = "t";
|
|
char str2[] = "t";
|
|
ASSERT_FALSE(str1 < str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pistring_true) {
|
|
PIString str1 = "testin";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str2 > str1);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pistring_false) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testin";
|
|
ASSERT_FALSE(str2 > str1);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pistring_false_equal) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_FALSE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pichar_true) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'a';
|
|
ASSERT_TRUE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pichar_false) {
|
|
PIString str1 = "a";
|
|
PIChar str2 = 't';
|
|
ASSERT_FALSE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_pichar_false_equal) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_FALSE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_cstring_true) {
|
|
PIString str1 = "t";
|
|
char str2[] = "a";
|
|
ASSERT_TRUE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_cstring_false) {
|
|
PIString str1 = "a";
|
|
char str2[] = "t";
|
|
ASSERT_FALSE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_cstring_false_equal) {
|
|
PIString str1 = "t";
|
|
char str2[] = "t";
|
|
ASSERT_FALSE(str1 > str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pistring_true_less) {
|
|
PIString str1 = "testin";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pistring_false) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testin";
|
|
ASSERT_FALSE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pistring_true_equal) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pichar_true) {
|
|
PIString str1 = "a";
|
|
PIChar str2 = 't';
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pichar_false) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'a';
|
|
ASSERT_FALSE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_pichar_true_equal) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_cstring_true) {
|
|
PIString str1 = "a";
|
|
char str2[] = "t";
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_cstring_false) {
|
|
PIString str1 = "t";
|
|
char str2[] = "a";
|
|
ASSERT_FALSE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_less_eq_cstring_true_equal) {
|
|
PIString str1 = "t";
|
|
char str2[] = "t";
|
|
ASSERT_TRUE(str1 <= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pistring_true) {
|
|
PIString str1 = "testin";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str2 >= str1);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pistring_false) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testin";
|
|
ASSERT_FALSE(str2 >= str1);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pistring_true_equal) {
|
|
PIString str1 = "testing";
|
|
PIString str2 = "testing";
|
|
ASSERT_TRUE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pichar_true) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 'a';
|
|
ASSERT_TRUE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pichar_false) {
|
|
PIString str1 = "a";
|
|
PIChar str2 = 't';
|
|
ASSERT_FALSE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_pichar_true_equal) {
|
|
PIString str1 = "t";
|
|
PIChar str2 = 't';
|
|
ASSERT_TRUE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_cstring_true) {
|
|
PIString str1 = "t";
|
|
char str2[] = "a";
|
|
ASSERT_TRUE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_cstring_false) {
|
|
PIString str1 = "a";
|
|
char str2[] = "t";
|
|
ASSERT_FALSE(str1 >= str2);
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_grater_eq_cstring_true_equal) {
|
|
PIString str1 = "t";
|
|
char str2[] = "t";
|
|
ASSERT_TRUE(str1 >= str2);
|
|
}
|