82 lines
1.8 KiB
C++
82 lines
1.8 KiB
C++
#include "gtest/gtest.h"
|
|
#include "pistring.h"
|
|
#include "pistringlist.h"
|
|
#include "math.h"
|
|
|
|
using namespace std;
|
|
|
|
template <typename T>
|
|
bool is_equal(T x, T y) {
|
|
return std::fabs(x - y) < std::numeric_limits<T>::epsilon();
|
|
}
|
|
|
|
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_char){
|
|
PIString str1 = "AB C";
|
|
const char *str2 = "D D ";
|
|
str1 += str2;
|
|
ASSERT_EQ(str1, "AB CD D ");
|
|
}
|
|
|
|
TEST(PIString_Tests, operator_concatenation_char_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");
|
|
}
|