From 88a147e0a1cbf41f4b7bb042c7e25f37675bf740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D0=B5=D0=B4=D0=BE=D1=80=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=92=D0=B8=D1=82?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=B5=D0=B2=D0=B8=D1=87?= Date: Thu, 10 Sep 2020 17:48:28 +0300 Subject: [PATCH] string tests --- tests/CMakeLists.txt | 3 +- tests/core/pistringTest.cpp | 3008 +++++++++++++++++++++++++++++++++++ 2 files changed, 3010 insertions(+), 1 deletion(-) create mode 100644 tests/core/pistringTest.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index bebb15da..49c4d1be 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -6,7 +6,7 @@ macro(pip_test NAME LIBS) set(_target pip_${NAME}_test) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PIP_ROOT_BINARY_DIR}") add_executable(${_target} ${_CPPS} ${_HDRS}) - target_link_libraries(${_target} pip ${LIBS} gtest_main gmock_main) + target_link_libraries(${_target} pip ${LIBS} gtest_main gmock_main) add_test(NAME ${_target} COMMAND tests) add_custom_target(${_target}_perform ALL COMMAND ${_target}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY) @@ -17,3 +17,4 @@ endmacro() # Concurrent tests pip_test(concurrent "") pip_test(math "") +pip_test(core "") diff --git a/tests/core/pistringTest.cpp b/tests/core/pistringTest.cpp new file mode 100644 index 00000000..26f5c97f --- /dev/null +++ b/tests/core/pistringTest.cpp @@ -0,0 +1,3008 @@ +#include "gtest/gtest.h" +#include "pistring.h" +#include "pistringlist.h" + +using namespace std; + +TEST(PIString_Tests, operator_concatenation_pichar){ + PIString str1 = "AB C"; + const PIChar str2 = " "; + str1 += str2; + ASSERT_STREQ(str1, "AB C "); +} + +TEST(PIString_Tests, operator_concatenation_pichar_zero1){ + PIString str1 = ""; + const PIChar str2 = "D"; + str1 += str2; + ASSERT_STREQ(str1, "D"); +} + +TEST(PIString_Tests, operator_concatenation_pichar_zero2){ + PIString str1 = "AB C"; + const PIChar str2 = ""; + str1 += str2; + ASSERT_STREQ(str1, "AB C"); +} + +TEST(PIString_Tests, operator_concatenation_pichar_zero_zero){ + PIString str1; + const PIChar str2; + str1 += str2; + ASSERT_STREQ(str1, ""); +} + +TEST(PIString_Tests, operator_concatenation_char){ + PIString str1 = "AB C"; + const char *str2 = "D D "; + str1 += str2; + ASSERT_STREQ(str1, "AB CD D "); +} + +TEST(PIString_Tests, operator_concatenation_char_zero1){ + PIString str1 = ""; + const char *str2 = "D D "; + str1 += str2; + ASSERT_STREQ(str1, "D D "); +} + +TEST(PIString_Tests, operator_concatenation_char_zero2){ + PIString str1 = "AB C"; + const char *str2; + str1 += str2; + ASSERT_STREQ(str1, "AB C"); +} + +TEST(PIString_Tests, operator_concatenation_char_zero_zero){ + PIString str1; + const char *str2; + str1 += str2; + ASSERT_STREQ(str1, ""); +} + +TEST(PIString_Tests, operator_concatenation_wchar){ + PIString str1= "AB C"; + wchar_t str2[] = L"C"; + str1 += str2; + ASSERT_STREQ(str1, "AB CC"); +} + +TEST(PIString_Tests, operator_concatenation_wchar_zero1){ + PIString str1 = ""; + wchar_t str2[] = L"C"; + str1 += str2; + ASSERT_STREQ(str1, "C"); +} + +TEST(PIString_Tests, operator_concatenation_wchar_zero2){ + PIString str1 = "AB C"; + wchar_t *str2; + str1 += str2; + ASSERT_STREQ(str1, "AB C"); +} + +TEST(PIString_Tests, operator_concatenation_wchar_zero_zero){ + PIString str1; + wchar_t *str2; + str1 += str2; + ASSERT_STREQ(str1, ""); +} + +TEST(PIString_Tests, operator_concatenation_pistring){ + PIString str1 = "AB C"; + PIString str2 = " CD "; + str1 += str2; + ASSERT_STREQ(str1, "AB C CD "); +} + +TEST(PIString_Tests, operator_concatenation_pistring_zero1){ + PIString str1 = ""; + PIString str2 = "D DD"; + str1 += str2; + ASSERT_STREQ(str1, "D DD"); +} + +TEST(PIString_Tests, operator_concatenation_pistring_zero2){ + PIString str1 = "AB C"; + PIString str2 = ""; + str1 += str2; + ASSERT_STREQ(str1, "AB C"); +} + +TEST(PIString_Tests, operator_concatenation_pistring_zero_zero){ + PIString str1; + PIString str2; + str1 += str2; + ASSERT_STREQ(str1, ""); +} + +TEST(PIString_Tests, operator_concatenation_piByteArray){ + PIString str1 = "AB C"; + PIByteArray str2; + str2.append('g'); + str1 += str2; + ASSERT_STREQ(str1, "AB Cg"); +} + +TEST(PIString_Tests, operator_concatenation_piByteArray_zero1){ + PIString str1 = ""; + PIByteArray str2; + str2.append('0'); + str1 += str2; + ASSERT_STREQ(str1, "0"); +} + +TEST(PIString_Tests, operator_concatenation_piByteArray_zero2){ + PIString str1 = "AB C"; + PIByteArray str2; + str1 += str2; + ASSERT_STREQ(str1, "AB C"); +} + +TEST(PIString_Tests, operator_concatenation_piByteArray_zero_zero){ + PIString str1; + PIByteArray str2; + str1 += str2; + ASSERT_STREQ(str1, ""); +} + +TEST(PIString_Tests, construct_pistring){ + PIString str1 = "New"; + ASSERT_STREQ(str1, PIString("New")); +} + +TEST(PIString_Tests, construct_pichar){ + PIChar str1 = 'n'; + ASSERT_STREQ("n", PIString(str1)); +} + +TEST(PIString_Tests, construct_char){ + char str1 = 'n'; + ASSERT_STREQ("n", PIString(str1)); +} + +TEST(PIString_Tests, construct_chars){ + char str1[] = "mew"; + ASSERT_STREQ("mew", PIString(str1)); +} + +TEST(PIString_Tests, construct_wchar_t){ + wchar_t str1[] = L"gav"; + ASSERT_STREQ("gav", PIString(str1)); +} + +TEST(PIString_Tests, construct_pibyte_array){ + PIByteArray str1; + str1.append('m'); + ASSERT_STREQ("m", PIString(str1)); +} + +TEST(PIString_Tests, construct_pichar_size){ + PIChar *str1 = new PIChar[3]; + str1[0] = 'n'; + str1[1] = 'e'; + str1[2] = 'w'; + ASSERT_STREQ("new", PIString(str1, 3)); +} + +TEST(PIString_Tests, construct_char_size){ + char str1[] = "good"; + ASSERT_STREQ("good", PIString(str1, 4)); +} + +TEST(PIString_Tests, construct_char_len){ + char str1 = 'n'; + ASSERT_STREQ("nnn", PIString(3, str1)); +} + +TEST(PIString_Tests, construct_pichar_len){ + PIChar str1 = 'n'; + ASSERT_STREQ("nnnnn", PIString(5, str1)); +} + +TEST(PIString_Tests, operator_pointer){ + PIString str1 = "testing"; + const char *point = str1.operator const char *(); + ASSERT_STREQ("testing", point); +} + +TEST(PIString_Tests, operator_symbol){ + PIString str1 = "testing"; + PIChar symbo = "i"; + ASSERT_EQ(symbo, str1[4]); +} + +TEST(PIString_Tests, operator_compare_pistring_true){ + PIString str1 = "testing"; + PIString str2 = "testing"; + ASSERT_TRUE(str1 == str2); +} + +TEST(PIString_Tests, operator_compare_pistring_false){ + PIString str1 = "tes"; + PIString str2 = "testing"; + ASSERT_FALSE(str1 == str2); +} + +TEST(PIString_Tests, operator_compare_pichar_true){ + PIString str1 = "t"; + PIChar str2 = "t"; + ASSERT_TRUE(str1 == str2); +} + +TEST(PIString_Tests, operator_compare_pichar_false){ + PIString str1 = "t"; + PIChar str2 = "p"; + ASSERT_FALSE(str1 == str2); +} + +TEST(PIString_Tests, operator_compare_char_true){ + PIString str1 = "test"; + char str2[] = "test"; + ASSERT_TRUE(str1 == str2); +} + +TEST(PIString_Tests, operator_compare_char_false){ + PIString str1 = "t"; + char str2[] = "test"; + ASSERT_FALSE(str1 == str2); +} + +TEST(PIString_Tests, operator_encompare_pistring_false){ + PIString str1 = "testing"; + PIString str2 = "testing"; + ASSERT_FALSE(str1 != str2); +} + +TEST(PIString_Tests, operator_encompare_pistring_true){ + PIString str1 = "tes"; + PIString str2 = "testing"; + ASSERT_TRUE(str1 != str2); +} + +TEST(PIString_Tests, operator_encompare_pichar_false){ + PIString str1 = "t"; + PIChar str2 = "t"; + ASSERT_FALSE(str1 != str2); +} + +TEST(PIString_Tests, operator_encompare_pichar_true){ + PIString str1 = "t"; + PIChar str2 = "p"; + ASSERT_TRUE(str1 != str2); +} + +TEST(PIString_Tests, operator_encompare_char_false){ + PIString str1 = "test"; + char str2[] = "test"; + ASSERT_FALSE(str1 != str2); +} + +TEST(PIString_Tests, operator_encompare_char_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_char_true){ + PIString str1 = "a"; + char str2[] = "t"; + ASSERT_TRUE(str1 < str2); +} + +TEST(PIString_Tests, operator_less_char_false){ + PIString str1 = "t"; + char str2[] = "a"; + ASSERT_FALSE(str1 < str2); +} + +TEST(PIString_Tests, operator_less_char_false_equal){ + PIString str1 = "t"; + char str2[] = "t"; + ASSERT_FALSE(str1 < str2); +} + +TEST(PIString_Tests, operator_more_pistring_true){ + PIString str1 = "testin"; + PIString str2 = "testing"; + ASSERT_TRUE(str2 > str1); +} + +TEST(PIString_Tests, operator_more_pistring_false){ + PIString str1 = "testing"; + PIString str2 = "testin"; + ASSERT_FALSE(str2 > str1); +} + +TEST(PIString_Tests, operator_more_pistring_false_equal){ + PIString str1 = "testing"; + PIString str2 = "testing"; + ASSERT_FALSE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_pichar_true){ + PIString str1 = "t"; + PIChar str2 = "a"; + ASSERT_TRUE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_pichar_false){ + PIString str1 = "a"; + PIChar str2 = "t"; + ASSERT_FALSE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_pichar_false_equal){ + PIString str1 = "t"; + PIChar str2 = "t"; + ASSERT_FALSE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_char_true){ + PIString str1 = "t"; + char str2[] = "a"; + ASSERT_TRUE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_char_false){ + PIString str1 = "a"; + char str2[] = "t"; + ASSERT_FALSE(str1 > str2); +} + +TEST(PIString_Tests, operator_more_char_false_equal){ + PIString str1 = "t"; + char str2[] = "t"; + ASSERT_FALSE(str1 > str2); +} + +TEST(PIString_Tests, operator_less_eq_pistring_true){ + 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_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_char_true){ + PIString str1 = "a"; + char str2[] = "t"; + ASSERT_TRUE(str1 <= str2); +} + +TEST(PIString_Tests, operator_less_eq_char_false){ + PIString str1 = "t"; + char str2[] = "a"; + ASSERT_FALSE(str1 <= str2); +} + +TEST(PIString_Tests, operator_less_eq_char_true_equal){ + PIString str1 = "t"; + char str2[] = "t"; + ASSERT_TRUE(str1 <= str2); +} + +TEST(PIString_Tests, operator_more_eq_pistring_true){ + PIString str1 = "testin"; + PIString str2 = "testing"; + ASSERT_TRUE(str2 >= str1); +} + +TEST(PIString_Tests, operator_more_eq_pistring_false){ + PIString str1 = "testing"; + PIString str2 = "testin"; + ASSERT_FALSE(str2 >= str1); +} + +TEST(PIString_Tests, operator_more_eq_pistring_true_equal){ + PIString str1 = "testing"; + PIString str2 = "testing"; + ASSERT_TRUE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_pichar_true){ + PIString str1 = "t"; + PIChar str2 = "a"; + ASSERT_TRUE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_pichar_false){ + PIString str1 = "a"; + PIChar str2 = "t"; + ASSERT_FALSE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_pichar_true_equal){ + PIString str1 = "t"; + PIChar str2 = "t"; + ASSERT_TRUE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_char_true){ + PIString str1 = "t"; + char str2[] = "a"; + ASSERT_TRUE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_char_false){ + PIString str1 = "a"; + char str2[] = "t"; + ASSERT_FALSE(str1 >= str2); +} + +TEST(PIString_Tests, operator_more_eq_char_true_equal){ + PIString str1 = "t"; + char str2[] = "t"; + ASSERT_TRUE(str1 >= str2); +} + +TEST(PIString_Tests, operator_shift_pistring){ + PIString str1 = "shift"; + PIString str2 = " good"; + str1 << str2; + ASSERT_STREQ("shift good", str1); +} + +TEST(PIString_Tests, operator_shift_pichar){ + PIString str1 = "shif"; + PIChar str2 = 't'; + str1 << str2; + ASSERT_STREQ("shift", str1); +} + +TEST(PIString_Tests, operator_shift_char){ + PIString str1 = "shif"; + char str2[] = "t chat"; + str1 << str2; + ASSERT_STREQ("shift chat", str1); +} + +TEST(PIString_Tests, operator_shift_wchar_t){ + PIString str1 = "shif"; + wchar_t str2[] = L"t cc"; + str1 << str2; + ASSERT_STREQ("shift cc", str1); +} + +TEST(PIString_Tests, operator_shift_int){ + PIString str1 = "shift "; + int numb = -2147483648; + str1 << numb; + ASSERT_STREQ("shift -2147483648", str1); +} + +TEST(PIString_Tests, operator_shift_uint){ + PIString str1 = "shift "; + uint numb = 4294967295; + str1 << numb; + ASSERT_STREQ("shift 4294967295", str1); +} + +TEST(PIString_Tests, operator_shift_short){ + PIString str1 = "shift "; + short numb = -32768; + str1 << numb; + ASSERT_STREQ("shift -32768", str1); +} + +TEST(PIString_Tests, operator_shift_ushort){ + PIString str1 = "shift "; + ushort numb = 65535; + str1 << numb; + ASSERT_STREQ("shift 65535", str1); +} + +TEST(PIString_Tests, operator_shift_long){ + PIString str1 = "shift "; + long numb = -2147483648; + str1 << numb; + ASSERT_STREQ("shift -2147483648", str1); +} + +TEST(PIString_Tests, operator_shift_ulong){ + PIString str1 = "shift "; + ulong numb = 4294967295; + str1 << numb; + ASSERT_STREQ("shift 4294967295", str1); +} + +TEST(PIString_Tests, operator_shift_llong){ + PIString str1 = "shift "; + llong numb = -9223372036854775807; + str1 << numb; + ASSERT_STREQ("shift -9223372036854775807", str1); +} + +TEST(PIString_Tests, operator_shift_ullong){ + PIString str1 = "shift "; + ullong numb = 1844674407370955161; + str1 << numb; + ASSERT_STREQ("shift 1844674407370955161", str1); +} + +TEST(PIString_Tests, operator_shift_float){ + PIString str1 = "shift "; + float numb = -67.88999939; + str1 << numb; + ASSERT_STREQ("shift -67.88999939", str1); +} + +TEST(PIString_Tests, operator_shift_double){ + PIString str1 = "shift "; + double numb = 13.34300000; + str1 << numb; + + ASSERT_STREQ("shift 13.34300000", str1); +} + +TEST(PIString_Tests, prepend){ + PIString str1 = "idea"; + PIString str2 = "Good "; + str1.prepend(str2); + ASSERT_STREQ("Good idea", str1); +} + +TEST(PIString_Tests, append){ + PIString str1 = "Good"; + PIString str2 = " idea"; + str1.append(str2); + ASSERT_STREQ("Good idea", str1); +} + +TEST(PIString_Tests, mid){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("fo", str1.mid(10, 2)); +} + +TEST(PIString_Tests, mid_len_0){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("", str1.mid(10, 0)); +} + + +TEST(PIString_Tests, mid_start_more){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("", str1.mid(1000, 0)); +} + +TEST(PIString_Tests, mid_len_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("for new project 144", str1.mid(10, -2)); +} + +TEST(PIString_Tests, mid_len_more){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("for new project 144", str1.mid(10, 100)); +} + +TEST(PIString_Tests, subString){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("for new project 144", str1.mid(10, 46)); +} + +TEST(PIString_Tests, mid_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.mid(-10, 47)); +} + +TEST(PIString_Tests, subString_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Go", str1.mid(-10, 12)); +} + +TEST(PIString_Tests, left){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Go", str1.left(2)); +} + +TEST(PIString_Tests, left_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("", str1.left(-2)); +} + +TEST(PIString_Tests, right){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("44", str1.right(2)); +} + +TEST(PIString_Tests, right_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("", str1.right(-2)); +} + +TEST(PIString_Tests, cutMid){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good for new project 144", str1.cutMid(5,5)); +} + +TEST(PIString_Tests, cutMid_len_zero){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.cutMid(5,0)); +} + +TEST(PIString_Tests, cutMid_len_min){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good ", str1.cutMid(5,-2)); +} + +TEST(PIString_Tests, cutMid_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("ood idea for new project 144", str1.cutMid(-5, 6)); +} + +TEST(PIString_Tests, cutMid_zero){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.cutMid(-5, 5)); +} + +TEST(PIString_Tests, cutleft){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("od idea for new project 144", str1.cutLeft(2)); +} + +TEST(PIString_Tests, cutleft_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.cutLeft(-2)); +} + +TEST(PIString_Tests, cutright){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 1", str1.cutRight(2)); +} + +TEST(PIString_Tests, cutright_minus){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.cutRight(-2)); +} + +TEST(PIString_Tests, trim){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("Good idea for new project 144", str1.trim()); +} + +TEST(PIString_Tests, trim_without){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.trim()); +} + +TEST(PIString_Tests, trim_link){ + PIString str1 = " Good idea for new project 144 "; + PIString &str2 = str1.trim(); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, trimmed){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("Good idea for new project 144", str1.trimmed()); +} + +TEST(PIString_Tests, trimmed_without){ + PIString str1 = "Good idea for new project 144"; + ASSERT_STREQ("Good idea for new project 144", str1.trimmed()); +} + +TEST(PIString_Tests, replace){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ(" Good thin for new project 144 ", str1.replace(6,4, "thin")); +} + +TEST(PIString_Tests, replace_more){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ(" Good thin", str1.replace(6,100, "thin")); +} + +TEST(PIString_Tests, replace_link){ + PIString str1 = " Good idea for new project 144 "; + PIString &str2 = str1.replace(6,4, "thin"); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, replace_minus){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("BAD idea for new project 144 ", str1.replace(0, 5, "BAD")); +} + +TEST(PIString_Tests, replace_zero){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("thin Good idea for new project 144 ", str1.replace(0, 0, "thin")); +} + +TEST(PIString_Tests, replace_all){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("BAD", str1.replaced(0, 100, "BAD")); +} + +TEST(PIString_Tests, replaced){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ(" Good thin for new project 144 ", str1.replaced(6,4, "thin")); +} + +TEST(PIString_Tests, replaced_minus){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("BAD idea for new project 144 ", str1.replaced(0, 5, "BAD")); +} + +TEST(PIString_Tests, replaced_zero){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("thin Good idea for new project 144 ", str1.replaced(0, 0, "thin")); +} + + +TEST(PIString_Tests, replaced_all){ + PIString str1 = " Good idea for new project 144 "; + ASSERT_STREQ("thin", str1.replaced(0, 100, "thin")); +} + +TEST(PIString_Tests, replace_str){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replace("Good", "bad", &ok); + ASSERT_STREQ(" bad idea for new Good project 144 ", str1); +} + +TEST(PIString_Tests, replace_str_link){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + PIString &str2 = str1.replace("Good", "bad", &ok); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, replace_str_zero){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replace("", "bad", &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, replace_str_true){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replace("Good", "bad", &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, replace_str_delete){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replace("Good", "", &ok); + ASSERT_STREQ(" idea for new Good project 144 ", str1); +} + +TEST(PIString_Tests, replaced_str){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + PIString str2 = str1.replaced("Good", "bad", &ok); + ASSERT_STREQ(" bad idea for new Good project 144 ", str2); +} + +TEST(PIString_Tests, replaced_str_zero){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replaced("", "bad", &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, replaced_str_true){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + str1.replaced("Good", "bad", &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, replaced_delete){ + PIString str1 = " Good idea for new Good project 144 "; + bool ok = 1; + PIString str2 = str1.replaced("Good", "", &ok); + ASSERT_STREQ(" idea for new Good project 144 ", str2); +} + +TEST(PIString_Tests, replaceall){ + PIString str1 = " Good idea for new Good project 144 "; + str1.replaceAll("Good", "bad"); + ASSERT_STREQ(" bad idea for new bad project 144 ", str1); +} + +TEST(PIString_Tests, replaceall_no_find){ + PIString str1 = " Good idea for new Good project 144 "; + str1.replaceAll("God", "bad"); + ASSERT_STREQ(" Good idea for new Good project 144 ", str1); +} + +TEST(PIString_Tests, replaceall_str){ + PIString str1 = " Good idea for new Good project 144 "; + PIString str2 = str1.replaceAll("Good", "bad"); + ASSERT_STREQ(" bad idea for new bad project 144 ", str2); +} + +TEST(PIString_Tests, replaceall_str_no_find){ + PIString str1 = " Good idea for new Good project 144 "; + PIString str2 = str1.replaceAll("God", "bad"); + ASSERT_STREQ(" Good idea for new Good project 144 ", str2); +} + +TEST(PIString_Tests, replaceall_link){ + PIString str1 = " Good idea for new Good project 144 "; + PIString &str2 = str1.replaceAll("Good", "bad"); + ASSERT_STREQ(" bad idea for new bad project 144 ", str2); +} + +TEST(PIString_Tests, replaceall_link_change){ + PIString str1 = " Good idea for new Good project 144 "; + PIString &str2 = str1.replaceAll("Good", "bad"); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, repeat){ + PIString str1 = "string "; + PIString str2 = str1.repeat(6); + ASSERT_STREQ("string string string string string string ", str2); +} + +TEST(PIString_Tests, repeat_zero){ + PIString str1 = "string "; + PIString str2 = str1.repeat(0); + ASSERT_STREQ("string ", str2); +} + +TEST(PIString_Tests, repeat_link){ + PIString str1 = "string "; + PIString &str2 = str1.repeat(6); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, repeated){ + PIString str1 = "string "; + str1.repeat(6); + ASSERT_STREQ("string string string string string string ", str1); +} + +TEST(PIString_Tests, repeated_zero){ + PIString str1 = "string "; + str1.repeat(0); + ASSERT_STREQ("string ", str1); +} + +TEST(PIString_Tests, insert_char){ + PIString str1 = "strng "; + char sym = 'i'; + str1.insert(3, sym); + ASSERT_STREQ("string ", str1); +} + +TEST(PIString_Tests, insert_pichar){ + PIString str1 = "strng "; + PIChar sym = 'i'; + str1.insert(3, sym); + ASSERT_STREQ("string ", str1); +} + +TEST(PIString_Tests, insert_pistring){ + PIString str1 = "string out"; + PIString str2 = " go"; + str1.insert(6, str2); + ASSERT_STREQ("string go out", str1); +} + +TEST(PIString_Tests, insert_chars){ + PIString str1 = "see boy"; + char str2[] = " big"; + str1.insert(3, str2); + ASSERT_STREQ("see big boy", str1); +} + +TEST(PIString_Tests, expandRightTo){ + PIString str1 = "see boy "; + PIChar symbol = "x"; + str1.expandRightTo(11, symbol); + ASSERT_STREQ("see boy xxx", str1); +} + +TEST(PIString_Tests, expandRightTo_null){ + PIString str1 = "see boy "; + PIChar symbol = "x"; + str1.expandRightTo(0, symbol); + ASSERT_STREQ("see boy ", str1); +} + +TEST(PIString_Tests, expandLeftTo){ + PIString str1 = " see boy"; + PIChar symbol = "x"; + str1.expandLeftTo(11, symbol); + ASSERT_STREQ("xxx see boy", str1); +} + +TEST(PIString_Tests, expandLeftTo_null){ + PIString str1 = "see boy "; + PIChar symbol = "x"; + str1.expandLeftTo(0, symbol); + ASSERT_STREQ("see boy ", str1); +} + +TEST(PIString_Tests, quote){ + PIString str1 = "see boy"; + PIChar symbol = " "; + str1.quote(symbol); + ASSERT_STREQ(" see boy ", str1); +} + +TEST(PIString_Tests, quote_link){ + PIString str1 = "see boy"; + PIChar symbol = " "; + PIString &str2 = str1.quote(symbol); + str1 = "link"; + ASSERT_STREQ("link", str2); +} + +TEST(PIString_Tests, quoted){ + PIString str1 = "see boy"; + PIChar symbol = " "; + PIString str2 = str1.quoted(symbol); + ASSERT_STREQ(" see boy ", str2); +} + +TEST(PIString_Tests, reverse){ + PIString str1 = "see boy"; + PIString &str2 = str1.reverse(); + ASSERT_STREQ("yob ees", str2); +} + +TEST(PIString_Tests, reverse_link){ + PIString str1 = "see boy"; + PIString &str2 = str1.reverse(); + str1 = "yes"; + ASSERT_STREQ("yes", str2); +} + +TEST(PIString_Tests, reversed){ + PIString str1 = "see boy"; + PIString str2 = str1.reversed(); + ASSERT_STREQ("yob ees", str2); +} + +TEST(PIString_Tests, elide){ + PIString str1 = "BMSTU is best university in space"; + PIString &str2 = str1.elide(8, 1); + ASSERT_STREQ("BMSTU ..", str2); +} + +TEST(PIString_Tests, elide_small){ + PIString str1 = "BMSTU is best university in space"; + PIString &str2 = str1.elide(2, 1); + ASSERT_STREQ("..", str2); +} + +TEST(PIString_Tests, elide_all){ + PIString str1 = "BMSTU is best university in space"; + PIString &str2 = str1.elide(100, 1); + ASSERT_STREQ("BMSTU is best university in space", str2); +} + +TEST(PIString_Tests, elide_link){ + PIString str1 = "BMSTU is best university in space"; + PIString &str2 = str1.elide(8, 1); + str1 = "space"; + ASSERT_STREQ("space", str2); +} + +TEST(PIString_Tests, elided){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.elided(8, 1); + ASSERT_STREQ("BMSTU ..", str2); +} + +TEST(PIString_Tests, takemid){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeMid(9, 4); + ASSERT_STREQ("best", str2); +} + +TEST(PIString_Tests, takeleft){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeLeft(5); + ASSERT_STREQ("BMSTU", str2); +} + +TEST(PIString_Tests, takeright){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeRight(5); + ASSERT_STREQ("space", str2); +} + +TEST(PIString_Tests, takesymbol){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeSymbol(); + ASSERT_STREQ("B", str2); +} + +TEST(PIString_Tests, takesymbol_with_rubbish){ + PIString str1 = " \t \n \r BMSTU is best university in space"; + PIString str2 = str1.takeSymbol(); + ASSERT_STREQ("B", str2); +} + +TEST(PIString_Tests, takesymbol_without){ + PIString str1 = " \t \n \r "; + PIString str2 = str1.takeSymbol(); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, takeword){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeWord(); + ASSERT_STREQ("BMSTU", str2); +} + +TEST(PIString_Tests, takeword_space){ + PIString str1 = " \r\n\tBMSTU is best university in space"; + PIString str2 = str1.takeWord(); + ASSERT_STREQ("BMSTU", str2); +} + +TEST(PIString_Tests, takeword_without_word){ + PIString str1 = " \r\n\t"; + PIString str2 = str1.takeWord(); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, takecword){ + PIString str1 = "_6 BMSTU is best university in space"; + PIString str2 = str1.takeCWord(); + ASSERT_STREQ("_6", str2); +} + +TEST(PIString_Tests, takecword_space){ + PIString str1 = " \t\r\n_6 BMSTU is best university in space"; + PIString str2 = str1.takeCWord(); + ASSERT_STREQ("_6", str2); +} + +TEST(PIString_Tests, takecword_space_w){ + PIString str1 = " \t\r\n BMSTU is best university in space"; + PIString str2 = str1.takeCWord(); + ASSERT_STREQ("BMSTU", str2); +} + +TEST(PIString_Tests, takecword_not_cword){ + PIString str1 = " \t\r\n "; + PIString str2 = str1.takeCWord(); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, takeline){ + PIString str1 = "BMSTU is best\n university in space"; + PIString str2 = str1.takeLine(); + ASSERT_STREQ("BMSTU is best", str2); +} + +TEST(PIString_Tests, takeline_without){ + PIString str1 = "BMSTU is best"; + PIString str2 = str1.takeLine(); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, takeline_first){ + PIString str1 = "\nBMSTU is best"; + PIString str2 = str1.takeLine(); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, takenumber){ + PIString str1 = "6.6"; + PIString str2 = str1.takeNumber(); + ASSERT_STREQ("6.6", str2); +} + +TEST(PIString_Tests, takenumber_sign){ + PIString str1 = "-66"; + PIString str2 = str1.takeNumber(); + ASSERT_STREQ("-66", str2); +} + +TEST(PIString_Tests, takenumber_suffix){ + PIString str1 = "66L"; + PIString str2 = str1.takeNumber(); + ASSERT_STREQ("66L", str2); +} + +TEST(PIString_Tests, takerange){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeRange('B', 'i', ' '); + ASSERT_STREQ("MSTU is best un", str2); +} + +TEST(PIString_Tests, takerange_without_shield){ + PIString str1 = "BMSTU is best university in space"; + PIString str2 = str1.takeRange('B', 'i'); + ASSERT_STREQ("MSTU ", str2); +} + +TEST(PIString_Tests, takerange_space){ + PIString str1 = " \t\r\nBMSTU is best university in space"; + PIString str2 = str1.takeRange('B', 'i', ' '); + ASSERT_STREQ("MSTU is best un", str2); +} + +TEST(PIString_Tests, takerange_without_shield_space){ + PIString str1 = " \t\r\nBMSTU is best university in space"; + PIString str2 = str1.takeRange('B', 'i'); + ASSERT_STREQ("MSTU ", str2); +} + +TEST(PIString_Tests, inBrackets){ + PIString str1 = "BMSTU is (best) university in space"; + PIString str2 = str1.inBrackets('(', ')'); + ASSERT_STREQ("best", str2); +} + +TEST(PIString_Tests, inBrackets_end_start){ + PIString str1 = "BMSTU )is (best) university in space"; + PIString str2 = str1.inBrackets('(', ')'); + ASSERT_STREQ("best", str2); +} + +TEST(PIString_Tests, inBrackets_without){ + PIString str1 = "BMSTU )is (best) university in space"; + PIString str2 = str1.inBrackets('0', '1'); + ASSERT_STREQ("", str2); +} + +TEST(PIString_Tests, lenghtascii){ + PIString str1 = "BMSTU is (best) university in space"; + int size = str1.lengthAscii(); + ASSERT_EQ(35, size); +} + +TEST(PIString_Tests, data){ + PIString str1 = "BMSTU is (best) university in space\n"; + const char *data = str1.data(); + ASSERT_STREQ("BMSTU is (best) university in space\n", data); +} + +TEST(PIString_Tests, dataconsole){ + PIString str1 = "BMSTU is (best) university in space\n"; + const char *data = str1.dataConsole(); + ASSERT_STREQ("BMSTU is (best) university in space\n", data); +} + +TEST(PIString_Tests, dataUTF8){ + PIString str1 = "BMSTU is (best) university in space\n"; + const char *data = str1.dataUTF8(); + ASSERT_STREQ("BMSTU is (best) university in space\n", data); +} + +TEST(PIString_Tests, dataAScii){ + PIString str1 = "BMSTU is (best) university in space\n"; + const char *data = str1.dataAscii(); + ASSERT_STREQ("BMSTU is (best) university in space\n", data); +} + +TEST(PIString_Tests, hash){ + const PIString str1 = "B"; + uint h = str1.hash(); + ASSERT_EQ(3912571919, h); +} + +TEST(PIString_Tests, toByteArray){ + const PIString str1 = "C"; + PIByteArray h = str1.toByteArray(); + ASSERT_EQ(67, h.at(0)); +} + +TEST(PIString_Tests, toUTF8){ + const PIString str1 = "C"; + PIByteArray h = str1.toUTF8(); + ASSERT_EQ(67, h.at(0)); +} + +TEST(PIString_Tests, tocharset){ + const PIString str1 = "B"; + PIByteArray h = str1.toCharset("c"); + ASSERT_EQ(66, h.at(0)); +} + +TEST(PIString_Tests, toUTF8_empty){ + PIString str1; + str1.toUTF8(); + ASSERT_EQ(0, str1.size()); +} + +TEST(PIString_Tests, tocharset_empty){ + PIString str1 = ""; + str1.toCharset("c"); + ASSERT_EQ(0, str1.size()); +} + +TEST(PIString_Tests, split){ + PIString str1 = " mirrow best mirrow "; + PIStringList list = str1.split("best"); + ASSERT_STREQ(list[1], list[0]); +} + +TEST(PIString_Tests, split_empty){ + PIString str1 = ""; + PIStringList list = str1.split("best"); + ASSERT_EQ(0, list.size()); +} + +TEST(PIString_Tests, split_empty_delim){ + PIString str1 = " mirrow best mirrow "; + PIStringList list = str1.split(""); + ASSERT_EQ(0, list.size()); +} + +TEST(PIString_Tests, split_not_delim){ + PIString str1 = " mirrow best mirrow "; + PIStringList list = str1.split("tr"); + ASSERT_STREQ(list[0], " mirrow best mirrow "); +} + +TEST(PIString_Tests, toUpperCase){ + PIString str1 = " miRrow "; + PIString str2 = str1.toUpperCase(); + ASSERT_STREQ(" MIRROW ", str2); +} + +TEST(PIString_Tests, toLowerCase){ + PIString str1 = " MIrROW "; + PIString str2 = str1.toLowerCase(); + ASSERT_STREQ(" mirrow ", str2); +} + +TEST(PIString_Tests, toNativeDecimalPoints){ + PIString str1 = "4546,878"; + PIString str2 = str1.toNativeDecimalPoints(); + ASSERT_STREQ("4546.878", str2); +} + +TEST(PIString_Tests, contains_char){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = '\n'; + ASSERT_TRUE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_char_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = '0'; + ASSERT_FALSE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_picahr){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIChar s = 'i'; + ASSERT_TRUE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_pichar_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIChar s = '0'; + ASSERT_FALSE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_cahrs){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s[] = "BMSTU"; + ASSERT_TRUE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_chars_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s[] = "out"; + ASSERT_FALSE(str1.contains(s)); +} + + +TEST(PIString_Tests, contains_pistring){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString s = "univer"; + ASSERT_TRUE(str1.contains(s)); +} + +TEST(PIString_Tests, contains_pistring_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString s = "new"; + ASSERT_FALSE(str1.contains(s)); +} + +TEST(PIString_Tests, find_char){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'i'; + ASSERT_EQ(6, str1.find(s)); +} + +TEST(PIString_Tests, find_char_start){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'i'; + ASSERT_EQ(18, str1.find(s, 7)); +} + +TEST(PIString_Tests, find_char_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'o'; + ASSERT_EQ(-1, str1.find(s)); +} + +TEST(PIString_Tests, find_chars){ + PIString str1 = "BMSTU is (best) university in space\n"; + char str2[] = "is"; + ASSERT_EQ(6, str1.find(str2)); +} + +TEST(PIString_Tests, find_chars_start){ + PIString str1 = "BMSTU is (best) university in space\n"; + char str2[] = "iv"; + ASSERT_EQ(18, str1.find(str2, 7)); +} + +TEST(PIString_Tests, find_chars_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s[] = "ouc"; + ASSERT_EQ(-1, str1.find(s)); +} + +TEST(PIString_Tests, find_pistring){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "is"; + ASSERT_EQ(6, str1.find(str2)); +} + +TEST(PIString_Tests, find_pistring_start){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "iv"; + ASSERT_EQ(18, str1.find(str2, 7)); +} + +TEST(PIString_Tests, find_pistring_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "ouc"; + ASSERT_EQ(-1, str1.find(str2)); +} + +TEST(PIString_Tests, find_last_char){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'i'; + ASSERT_EQ(27, str1.findLast(s)); +} + +TEST(PIString_Tests, find_last_char_start){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'i'; + ASSERT_EQ(27, str1.findLast(s, 20)); +} + +TEST(PIString_Tests, find_last_char_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char s = 'o'; + ASSERT_EQ(-1, str1.findLast(s)); +} + +TEST(PIString_Tests, find_last_chars){ + PIString str1 = "BMSTU is (best) university in is space\n"; + char str2[] = "is"; + ASSERT_EQ(30, str1.findLast(str2)); +} + +TEST(PIString_Tests, find_last_chars_start){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + char str2[] = "iv"; + ASSERT_EQ(30, str1.findLast(str2, 25)); +} + +TEST(PIString_Tests, find_last_chars_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + char str2[] = "ouc"; + ASSERT_EQ(-1, str1.findLast(str2)); +} + +TEST(PIString_Tests, find_last_pistring){ + PIString str1 = "BMSTU is (best) university in is space\n"; + PIString str2 = "is"; + ASSERT_EQ(30, str1.findLast(str2)); +} + +TEST(PIString_Tests, find_last_pistring_start){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "iv"; + ASSERT_EQ(30, str1.findLast(str2, 10)); +} + +TEST(PIString_Tests, find_last_pistring_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "ouc"; + ASSERT_EQ(-1, str1.findLast(str2)); +} + +TEST(PIString_Tests, find_word){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university"; + ASSERT_EQ(16, str1.findWord(str2)); +} + +TEST(PIString_Tests, find_word_start){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university"; + ASSERT_EQ(16, str1.findWord(str2, 10)); +} + +TEST(PIString_Tests, find_word_space_before){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = " university"; + ASSERT_EQ(-1, str1.findWord(str2, 10)); +} + +TEST(PIString_Tests, find_word_space_after){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university "; + ASSERT_EQ(-1, str1.findWord(str2, 10)); +} + +TEST(PIString_Tests, find_word_digit_before){ + PIString str1 = "BMSTU is (best) _university_ in iv space\n"; + PIString str2 = "_university"; + ASSERT_EQ(-1, str1.findWord(str2, 10)); +} + +TEST(PIString_Tests, find_word_digit_after){ + PIString str1 = "BMSTU is (best) _university_ in iv space\n"; + PIString str2 = "university_"; + ASSERT_EQ(-1, str1.findWord(str2, 10)); +} + +TEST(PIString_Tests, find_word_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "university"; + ASSERT_EQ(-1, str1.findWord(str2, 37)); +} + +TEST(PIString_Tests, find_cword){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university"; + ASSERT_EQ(16, str1.findCWord(str2)); +} + +TEST(PIString_Tests, find_cword_start){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university"; + ASSERT_EQ(16, str1.findCWord(str2, 10)); +} + +TEST(PIString_Tests, find_cword_space_before){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = " university"; + ASSERT_EQ(15, str1.findCWord(str2, 10)); +} + +TEST(PIString_Tests, find_cword_space_after){ + PIString str1 = "BMSTU is (best) university in iv space\n"; + PIString str2 = "university "; + ASSERT_EQ(-1, str1.findCWord(str2, 10)); +} + +TEST(PIString_Tests, find_cword_digit_before){ + PIString str1 = "BMSTU is (best) _university_ in iv space\n"; + PIString str2 = "_university"; + ASSERT_EQ(-1, str1.findCWord(str2, 10)); +} + +TEST(PIString_Tests, find_cword_digit_after){ + PIString str1 = "BMSTU is (best) _university_ in iv space\n"; + PIString str2 = "university_"; + ASSERT_EQ(-1, str1.findCWord(str2, 10)); +} + +TEST(PIString_Tests, find_cword_false){ + PIString str1 = "BMSTU is (best) university in space\n"; + PIString str2 = "university"; + ASSERT_EQ(-1, str1.findCWord(str2, 37)); +} + +TEST(PIString_Tests, find_range){ + PIString str1 = "A very strong programmer wrote this code"; + PIChar start = "v"; + PIChar end = "g"; + int *len; + ASSERT_EQ(3, str1.findRange(start, end, "n", 1, len)); +} + +TEST(PIString_Tests, find_range_len){ + PIString str1 = "A very strong programmer wrote this code"; + PIChar start = "v"; + PIChar end = "g"; + int *len; + str1.findRange(start, end, "n", 1, len); + ASSERT_EQ(14, *len); +} + +TEST(PIString_Tests, find_range_len_without_shield){ + PIString str1 = "A very strong programmer wrote this code"; + PIChar start = "v"; + PIChar end = "g"; + int *len; + str1.findRange(start, end, "/", 1, len); + ASSERT_EQ(9, *len); +} + +TEST(PIString_Tests, find_range_start){ + PIString str1 = "A very strong programmer wrote this code"; + PIChar start = "g"; + PIChar end = "o"; + int *len; + str1.findRange(start, end, " ", 17, len); + ASSERT_EQ(9, *len); +} + +TEST(PIString_Tests, find_range_eq){ + PIString str1 = "A very strong programmer wrote this code"; + PIChar start = "v"; + PIChar end = "v"; + int *len; + str1.findRange(start, end, "n", 1, len); + ASSERT_EQ(0, *len); +} + +TEST(PIString_Tests, find_range_trim){ + PIString str1 = " A very strong programmer wrote this code"; + PIChar start = "A"; + PIChar end = "v"; + int *len; + ASSERT_EQ(2, str1.findRange(start, end, "n", 0, len)); +} + +TEST(PIString_Tests, find_any){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "doip"; + ASSERT_EQ(11, str1.findAny(str2, 0)); +} + +TEST(PIString_Tests, find_any_not){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "q"; + ASSERT_EQ(-1, str1.findAny(str2, 0)); +} + +TEST(PIString_Tests, find_any_start){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "doip"; + ASSERT_EQ(15, str1.findAny(str2, 12)); +} + +TEST(PIString_Tests, find_any_chars){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "doip"; + ASSERT_EQ(11, str1.findAny(str2, 0)); +} + +TEST(PIString_Tests, find_any_chars_not){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "q"; + ASSERT_EQ(-1, str1.findAny(str2, 0)); +} + +TEST(PIString_Tests, find_any_chars_start){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "doip"; + ASSERT_EQ(15, str1.findAny(str2, 12)); +} + +TEST(PIString_Tests, find_any_last){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "doip"; + ASSERT_EQ(39, str1.findAnyLast(str2, 0)); +} + +TEST(PIString_Tests, find_any_last_not){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "q"; + ASSERT_EQ(-1, str1.findAnyLast(str2, 0)); +} + +TEST(PIString_Tests, find_any_last_start){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "doip"; + ASSERT_EQ(39, str1.findAnyLast(str2, 12)); +} + +TEST(PIString_Tests, find_any_last_chars){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "doip"; + ASSERT_EQ(39, str1.findAnyLast(str2, 0)); +} + +TEST(PIString_Tests, find_any_last_chars_not){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "q"; + ASSERT_EQ(-1, str1.findAnyLast(str2, 0)); +} + +TEST(PIString_Tests, find_any_last_chars_start){ + PIString str1 = " A very strong programmer wrote this code"; + char str2[] = "doip"; + ASSERT_EQ(39, str1.findAnyLast(str2, 12)); +} + +TEST(PIString_Tests, entries){ + PIString str1 = " A very strong programmer wrote this code"; + PIChar c = "A"; + ASSERT_EQ(1, str1.entries(c)); +} + +TEST(PIString_Tests, entries_char){ + PIString str1 = " A very strong programmer wrote this code"; + char c = 'A'; + ASSERT_EQ(1, str1.entries(c)); +} + +TEST(PIString_Tests, starts_with){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = " A very"; + ASSERT_TRUE(str1.startsWith(str2)); +} + +TEST(PIString_Tests, starts_with_false){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = " A veru"; + ASSERT_FALSE(str1.startsWith(str2)); +} + +TEST(PIString_Tests, ends_with){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = " code"; + ASSERT_TRUE(str1.endsWith(str2)); +} + +TEST(PIString_Tests, ends_with_false){ + PIString str1 = " A very strong programmer wrote this code"; + PIString str2 = "c code"; + ASSERT_FALSE(str1.endsWith(str2)); +} + +TEST(PIString_Tests, length){ + PIString str1 = " A very strong programmer wrote this code"; + ASSERT_EQ(41, str1.length()); +} + +TEST(PIString_Tests, is_empty_false){ + PIString str1 = " A very strong programmer wrote this code"; + ASSERT_FALSE(str1.isEmpty()); +} + +TEST(PIString_Tests, is_empty_true){ + PIString str1 = ""; + ASSERT_TRUE(str1.isEmpty()); +} + +TEST(PIString_Tests, to_bool){ + PIString str1 = "1"; + ASSERT_TRUE(str1.toBool()); +} + +TEST(PIString_Tests, to_bool_yes){ + PIString str1 = "yes"; + ASSERT_TRUE(str1.toBool()); +} + +TEST(PIString_Tests, to_bool_false){ + PIString str1 = "no"; + ASSERT_FALSE(str1.toBool()); +} + +TEST(PIString_Tests, to_bool_false_zero){ + PIString str1 = "0"; + ASSERT_FALSE(str1.toBool()); +} + +TEST(PIString_Tests, to_char){ + PIString str1 = "A very strong programmer wrote this code"; + ASSERT_EQ(65, str1.toChar()); +} + +TEST(PIString_Tests, to_short){ + PIString str1 = "133"; + ASSERT_EQ(133, str1.toShort(-1)); +} + +TEST(PIString_Tests, to_short_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toShort(-1)); +} + +TEST(PIString_Tests, to_short_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toShort(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_short_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toShort(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_short_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(-7, str1.toShort(10, ok)); +} + +TEST(PIString_Tests, to_ushort){ + PIString str1 = "133.1"; + ASSERT_EQ(133, str1.toUShort(-1)); +} + +TEST(PIString_Tests, to_ushort_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toUShort(-1)); +} + +TEST(PIString_Tests, to_ushort_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toUShort(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ushort_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toUShort(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ushort_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(65529, str1.toUShort(10, ok)); +} + +TEST(PIString_Tests, to_int){ + PIString str1 = "133"; + ASSERT_EQ(133, str1.toInt(-1)); +} + +TEST(PIString_Tests, to_int_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toInt(-1)); +} + +TEST(PIString_Tests, to_int_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toInt(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_int_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toInt(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_int_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(-7, str1.toShort(10, ok)); +} + +TEST(PIString_Tests, to_uint){ + PIString str1 = "133.1"; + ASSERT_EQ(133, str1.toUInt(-1)); +} + +TEST(PIString_Tests, to_uint_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toUInt(-1)); +} + +TEST(PIString_Tests, to_uint_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toUInt(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_uint_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toUInt(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_uint_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(4294967289, str1.toUInt(10, ok)); +} + +TEST(PIString_Tests, to_long){ + PIString str1 = "133"; + ASSERT_EQ(133, str1.toLong(-1)); +} + +TEST(PIString_Tests, to_long_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toLong(-1)); +} + +TEST(PIString_Tests, to_long_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toLong(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_long_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toLong(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_long_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(-7, str1.toLong(10, ok)); +} + +TEST(PIString_Tests, to_ulong){ + PIString str1 = "133.1"; + ASSERT_EQ(133, str1.toULong(-1)); +} + +TEST(PIString_Tests, to_ulong_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toULong(-1)); +} + +TEST(PIString_Tests, to_ulong_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toULong(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ulong_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toULong(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ulong_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(4294967289, str1.toULong(10, ok)); +} + +TEST(PIString_Tests, to_llong){ + PIString str1 = "133"; + ASSERT_EQ(133, str1.toLLong(-1)); +} + +TEST(PIString_Tests, to_llong_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toLLong(-1)); +} + +TEST(PIString_Tests, to_llong_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toLLong(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_llong_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toLLong(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_llong_neg){ + PIString str1 = "-7"; + bool *ok; + ASSERT_EQ(-7, str1.toLLong(10, ok)); +} + +TEST(PIString_Tests, to_ullong){ + PIString str1 = "133.1"; + ASSERT_EQ(133, str1.toULLong(-1)); +} + +TEST(PIString_Tests, to_ullong_0x){ + PIString str1 = "0x133"; + ASSERT_EQ(307, str1.toULLong(-1)); +} + +TEST(PIString_Tests, to_ullong_false){ + PIString str1 = "0x133"; + bool *ok; + str1.toULLong(1, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ullong_false_base){ + PIString str1 = "7"; + bool *ok; + str1.toULLong(6, ok); + ASSERT_FALSE(*ok); +} + +TEST(PIString_Tests, to_ullong_neg){ + PIString str1 = "-7"; + bool *ok; + ullong f = 184467451609; + ASSERT_EQ(f, str1.toULLong(10, ok)); +} + +TEST(PIString_Tests, to_float){ + PIString str1 = "-7765,54"; + float f = -7765.54; + ASSERT_EQ(f, str1.toFloat()); +} + +TEST(PIString_Tests, to_double){ + PIString str1 = "-7765,54656"; + double f = -7765.54656; + ASSERT_EQ(f, str1.toDouble()); +} + +TEST(PIString_Tests, to_ldouble){ + PIString str1 = "-7765,54656"; + ldouble f = -7765.54656; + ASSERT_EQ(f, str1.toLDouble()); +} + +TEST(PIString_Tests, setNumber){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_zero){ + PIString str1 = " String"; + const short val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_false_base){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_true){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_false_base_str){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_base_minus){ + PIString str1 = " String"; + const short val = -10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("-A", str1); +} + +TEST(PIString_Tests, setNumber_ushort){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_ushort_true){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_ushort_zero){ + PIString str1 = " String"; + const ushort val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_ushort_false_base){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_ushort_false_base_str){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_ushort_base_minus){ + PIString str1 = " String"; + const ushort val = 10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("A", str1); +} + +TEST(PIString_Tests, setNumber_int){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_int_zero){ + PIString str1 = " String"; + const int val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_int_false_base){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_int_true){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_int_false_base_str){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_int_base_minus){ + PIString str1 = " String"; + const int val = -10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("-A", str1); +} + +TEST(PIString_Tests, setNumber_uint){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_uint_true){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_uintt_zero){ + PIString str1 = " String"; + const uint val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_uint_false_base){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_uint_false_base_str){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_uint_base_minus){ + PIString str1 = " String"; + const uint val = 10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("A", str1); +} + +TEST(PIString_Tests, setNumber_long){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_long_zero){ + PIString str1 = " String"; + const long val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_long_false_base){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_long_true){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_long_false_base_str){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_long_base_minus){ + PIString str1 = " String"; + const long val = -10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("-A", str1); +} + +TEST(PIString_Tests, setNumber_ulong){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_ulong_true){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_ulong_zero){ + PIString str1 = " String"; + const ulong val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_ulong_false_base){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_ulong_false_base_str){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_ulong_base_minus){ + PIString str1 = " String"; + const ulong val = 10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("A", str1); +} + +TEST(PIString_Tests, setNumber_llong){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_llong_zero){ + PIString str1 = " String"; + const llong val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_llong_false_base){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_llong_true){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_llong_false_base_str){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_llong_base_minus){ + PIString str1 = " String"; + const llong val = -10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("-A", str1); +} + +TEST(PIString_Tests, setNumber_ullong){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("131", str1); +} + +TEST(PIString_Tests, setNumber_ullong_true){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, setNumber_ullong_zero){ + PIString str1 = " String"; + const ullong val = 0; + bool ok; + str1.setNumber(val, 10, &ok); + ASSERT_STREQ("0", str1); +} + +TEST(PIString_Tests, setNumber_ullong_false_base){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, setNumber_ullong_false_base_str){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.setNumber(val, 1, &ok); + ASSERT_STREQ("", str1); +} + +TEST(PIString_Tests, setNumber_ullong_base_minus){ + PIString str1 = " String"; + const ullong val = 10; + bool ok; + str1.setNumber(val, 16, &ok); + ASSERT_STREQ("A", str1); +} + +TEST(PIString_Tests, setNumber_float){ + PIString str1 = " String"; + const float val = 131.132; + str1.setNumber(val, 'f', 3); + ASSERT_STREQ("131.132", str1); +} + +TEST(PIString_Tests, setNumber_double){ + PIString str1 = " String"; + const double val = 131.1324334; + str1.setNumber(val, 'f', 7); + ASSERT_STREQ("131.1324334", str1); +} + +TEST(PIString_Tests, setNumber_ldouble){ + PIString str1 = " String"; + const ldouble val = 131.1324334; + str1.setNumber(val, 'f', 7); + ASSERT_STREQ("131.1324334", str1); +} + +TEST(PIString_Tests, setReadableSize){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1023 B", str1.setReadableSize(1023)); +} + +TEST(PIString_Tests, setReadableSize_kb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 kB", str1.setReadableSize(1024)); +} + +TEST(PIString_Tests, setReadableSize_mb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 MB", str1.setReadableSize(1024*1024)); +} + +TEST(PIString_Tests, setReadableSize_gb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 GB", str1.setReadableSize(1024*1024*1024)); +} + +TEST(PIString_Tests, setReadableSize_tb){ + PIString str1 = " ITELMA"; + llong val = 99999999999999; + ASSERT_STREQ("90.9 TB", str1.setReadableSize(val)); +} + +TEST(PIString_Tests, setReadableSize_pb){ + PIString str1 = " ITELMA"; + llong val = 999999999999999999; + ASSERT_STREQ("888.1 PB", str1.setReadableSize(val)); +} + +TEST(PIString_Tests, fromNumber){ + PIString str1 = " String"; + const short val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumberr_zero){ + PIString str1 = " String"; + const short val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_false_base){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_true){ + PIString str1 = " String"; + const short val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_false_base_str){ + PIString str1 = " String"; + const short val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_base_minus){ + PIString str1 = " String"; + const short val = -10; + bool ok; + ASSERT_STREQ("-A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_ushort){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ushort_true){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_ushort_zero){ + PIString str1 = " String"; + const ushort val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ushort_false_base){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_ushort_false_base_str){ + PIString str1 = " String"; + const ushort val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_ushort_base_minus){ + PIString str1 = " String"; + const ushort val = 10; + bool ok; + ASSERT_STREQ("A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_int){ + PIString str1 = " String"; + const int val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_int_zero){ + PIString str1 = " String"; + const int val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_int_false_base){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_int_true){ + PIString str1 = " String"; + const int val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_int_false_base_str){ + PIString str1 = " String"; + const int val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_int_base_minus){ + PIString str1 = " String"; + const int val = -10; + bool ok; + ASSERT_STREQ("-A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_uint){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_uint_true){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_uintt_zero){ + PIString str1 = " String"; + const uint val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_uint_false_base){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_uint_false_base_str){ + PIString str1 = " String"; + const uint val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_uint_base_minus){ + PIString str1 = " String"; + const uint val = 10; + bool ok; + ASSERT_STREQ("A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_long){ + PIString str1 = " String"; + const long val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_long_zero){ + PIString str1 = " String"; + const long val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_long_false_base){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_long_true){ + PIString str1 = " String"; + const long val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_long_false_base_str){ + PIString str1 = " String"; + const long val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_long_base_minus){ + PIString str1 = " String"; + const long val = -10; + bool ok; + ASSERT_STREQ("-A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_ulong){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ulong_true){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_ulong_zero){ + PIString str1 = " String"; + const ulong val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ulong_false_base){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_ulong_false_base_str){ + PIString str1 = " String"; + const ulong val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_ulong_base_minus){ + PIString str1 = " String"; + const ulong val = 10; + bool ok; + ASSERT_STREQ("A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_llong){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_llong_zero){ + PIString str1 = " String"; + const llong val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_llong_false_base){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_llong_true){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_llong_false_base_str){ + PIString str1 = " String"; + const llong val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_llong_base_minus){ + PIString str1 = " String"; + const llong val = -10; + bool ok; + ASSERT_STREQ("-A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_ullong){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + ASSERT_STREQ("131", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ullong_true){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.fromNumber(val, 10, &ok); + ASSERT_TRUE(ok); +} + +TEST(PIString_Tests, fromNumber_ullong_zero){ + PIString str1 = " String"; + const ullong val = 0; + bool ok; + ASSERT_STREQ("0", str1.fromNumber(val, 10, &ok)); +} + +TEST(PIString_Tests, fromNumber_ullong_false_base){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + str1.fromNumber(val, 1, &ok); + ASSERT_FALSE(ok); +} + +TEST(PIString_Tests, fromNumber_ullong_false_base_str){ + PIString str1 = " String"; + const ullong val = 131; + bool ok; + ASSERT_STREQ("", str1.fromNumber(val, 1, &ok)); +} + +TEST(PIString_Tests, fromNumber_ullong_base_minus){ + PIString str1 = " String"; + const ullong val = 10; + bool ok; + ASSERT_STREQ("A", str1.fromNumber(val, 16, &ok)); +} + +TEST(PIString_Tests, fromNumber_float){ + PIString str1 = " String"; + const float val = 131.132; + ASSERT_STREQ("131.132", str1.fromNumber(val, 'f', 3)); +} + +TEST(PIString_Tests, fromNumber_double){ + PIString str1 = " String"; + const double val = 131.1324334; + ASSERT_STREQ("131.1324334", str1.fromNumber(val, 'f', 7)); +} + +TEST(PIString_Tests, fromNumber_ldouble){ + PIString str1 = " String"; + const ldouble val = 131.1324334; + ASSERT_STREQ("131.1324334", str1.fromNumber(val, 'f', 7)); +} + +TEST(PIString_Tests, fromBool_true){ + PIString str1; + bool val = true; + ASSERT_STREQ("true", str1.fromBool(val)); +} + +TEST(PIString_Tests, fromBool_false){ + PIString str1; + bool val = false; + ASSERT_STREQ("false", str1.fromBool(val)); +} + +TEST(PIString_Tests, from_Console){ + PIString str1; + char s[] = "true boy"; + ASSERT_STREQ("true boy", str1.fromConsole(s)); +} + +TEST(PIString_Tests, from_System){ + PIString str1; + char s[] = "true boy"; + ASSERT_STREQ("true boy", str1.fromSystem(s)); +} + +TEST(PIString_Tests, from_UTF8){ + PIString str1; + char s[] = "true boy"; + ASSERT_STREQ("true boy", str1.fromUTF8(s)); +} + +TEST(PIString_Tests, from_UTF8_ba){ + PIString str1; + PIByteArray s; + s.append('t'); + s.append('r'); + s.append('u'); + s.append('e'); + ASSERT_STREQ("true", str1.fromUTF8(s)); +} + +TEST(PIString_Tests, from_Ascii){ + PIString str1; + char s[] = "true boy"; + ASSERT_STREQ("true boy", str1.fromAscii(s)); +} + +TEST(PIString_Tests, from_Codepage){ + PIString str1 = "Nul"; + char s[] = "true"; + char c[] = "utf8"; + PIString str2 = str1.fromCodepage(s, c); + ASSERT_STREQ("true", str2); +} + +TEST(PIString_Tests, ReadableSize){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1023 B", str1.readableSize(1023)); +} + +TEST(PIString_Tests, readableSize_kb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 kB", str1.readableSize(1024)); +} + +TEST(PIString_Tests, readableSize_mb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 MB", str1.readableSize(1024*1024)); +} + +TEST(PIString_Tests, readableSize_gb){ + PIString str1 = " ITELMA"; + ASSERT_STREQ("1.0 GB", str1.readableSize(1024*1024*1024)); +} + +TEST(PIString_Tests, readableSize_tb){ + PIString str1 = " ITELMA"; + llong val = 99999999999999; + ASSERT_STREQ("90.9 TB", str1.readableSize(val)); +} + +TEST(PIString_Tests, readableSize_pb){ + PIString str1 = " ITELMA"; + llong val = 999999999999999999; + ASSERT_STREQ("888.1 PB", str1.readableSize(val)); +} + +TEST(PIString_Tests, removeAll_char){ + PIString str1 = "A very strong programmer wrote this code"; + char v = ' '; + ASSERT_STREQ("Averystrongprogrammerwrotethiscode", str1.removeAll(v)); +} + +TEST(PIString_Tests, removeAll_pistring){ + PIString str1 = "A very strong programmer wrote this code"; + PIString v = "very strong "; + ASSERT_STREQ("A programmer wrote this code", str1.removeAll(v)); +} + +TEST(PIString_Tests, operator_ba_pstr){ + PIString str1 = '1'; + PIByteArray s; + s << str1; + ASSERT_STREQ("010000003100", s.toHex()); +} + +TEST(PIString_Tests, operator_pstr_ba){ + PIString str1 = "1"; + PIByteArray s; + s.append('t'); + s.append('r'); + s.append('u'); + s.append('e'); + str1 << s; + ASSERT_STREQ("1true", str1); +} + +TEST(PIString_Tests, operator_plus_pstr_pstr){ + PIString str1 = "first "; + PIString str2 = "second"; + ASSERT_STREQ("first second", str1 + str2); +} + +TEST(PIString_Tests, operator_plus_pstr_chars){ + PIString str1 = "first "; + char str2[] = "second"; + ASSERT_STREQ("first second", str1 + str2); +} + +TEST(PIString_Tests, operator_plus_chars_pstr){ + PIString str1 = "first"; + char str2[] = "second "; + ASSERT_STREQ("second first", str2 + str1); +} + +TEST(PIString_Tests, versionCompare2){ //дописать + PIString str1 = "first"; + PIString str2 = "first 1"; + versionCompare(str1, str2, 0); + ASSERT_EQ(898448032, piHash(str1)); +} + +TEST(PIString_Tests, versionNormalize2){ //дописать + PIString str1 = "first"; + cout << versionNormalize(str1); + ASSERT_EQ(1, 1); +} + +TEST(PIString_Tests, piHash){ + PIString str1 = "first"; + ASSERT_EQ(898448032, piHash(str1)); +} + +TEST(PIString_Tests, piSwap){ + PIString str1 = "first"; + PIString str2 = "second"; + piSwap(str1, str2); + ASSERT_STREQ("first", str2); +} + +TEST(PIString_Tests, piSwap_sec){ + PIString str1 = "first"; + PIString str2 = "second"; + piSwap(str1, str2); + ASSERT_STREQ("second", str1); +} + + + + + + + + + + +