string test detailed look

This commit is contained in:
Metehan Tuncbilek
2024-10-17 16:55:02 +03:00
parent b6d74ea4f7
commit f7c6682cf5

View File

@@ -10,218 +10,208 @@
using namespace OpenVulkano; using namespace OpenVulkano;
TEST_CASE("String") TEST_CASE("Constructors")
{ {
SECTION("Constructors") String str1;
{ REQUIRE(str1 == "");
String str1;
REQUIRE(str1 == "");
String str2("Hello"); String str2("Hello");
REQUIRE(str2 == "Hello"); REQUIRE(str2 == "Hello");
String str3(std::string("World")); String str3(std::string("World"));
REQUIRE(str3 == "World"); REQUIRE(str3 == "World");
String str4(str2); String str4(str2);
REQUIRE(str4 == "Hello"); REQUIRE(str4 == "Hello");
String str5(std::move(str3)); String str5(std::move(str3));
REQUIRE(str5 == "World"); REQUIRE(str5 == "World");
} }
SECTION("Assignment") TEST_CASE("Assignment")
{ {
String str1; String str1;
str1 = "Hello"; str1 = "Hello";
REQUIRE(str1 == "Hello"); REQUIRE(str1 == "Hello");
String str2; String str2;
str2 = std::string("World"); str2 = std::string("World");
REQUIRE(str2 == "World"); REQUIRE(str2 == "World");
String str3; String str3;
str3 = str1; str3 = str1;
REQUIRE(str3 == "Hello"); REQUIRE(str3 == "Hello");
String str4; String str4;
str4 = std::move(str2); str4 = std::move(str2);
REQUIRE(str4 == "World"); REQUIRE(str4 == "World");
} }
SECTION("Concatenation") TEST_CASE("Concatenation")
{ {
String str1("Hello"); String str1("Hello");
str1 += " World"; str1 += " World";
REQUIRE(str1 == "Hello World"); REQUIRE(str1 == "Hello World");
String str2("Hello"); String str2("Hello");
String str3 = str2 + " World"; String str3 = str2 + " World";
REQUIRE(str3 == "Hello World"); REQUIRE(str3 == "Hello World");
String str4("Hello"); String str4("Hello");
str4 += std::string(" World"); str4 += std::string(" World");
REQUIRE(str4 == "Hello World"); REQUIRE(str4 == "Hello World");
String str5("Hello"); String str5("Hello");
String str6 = str5 + std::string(" World"); String str6 = str5 + std::string(" World");
REQUIRE(str6 == "Hello World"); REQUIRE(str6 == "Hello World");
String str7("Hello"); String str7("Hello");
str7 += String(" World"); str7 += String(" World");
REQUIRE(str7 == "Hello World"); REQUIRE(str7 == "Hello World");
String str8("Hello"); String str8("Hello");
String str9 = str8 + String(" World"); String str9 = str8 + String(" World");
REQUIRE(str9 == "Hello World"); REQUIRE(str9 == "Hello World");
String str10 = String("Hello") + " World"; String str10 = String("Hello") + " World";
REQUIRE(str10 == "Hello World"); REQUIRE(str10 == "Hello World");
String str11 = String("Hello") + std::string(" World"); String str11 = String("Hello") + std::string(" World");
REQUIRE(str11 == "Hello World"); REQUIRE(str11 == "Hello World");
String str12 = std::string("Hello") + String(" World"); String str12 = std::string("Hello") + String(" World");
REQUIRE(str12 == "Hello World"); REQUIRE(str12 == "Hello World");
} }
SECTION("Comparison") TEST_CASE("Comparison")
{ {
String str1("Hello"); String str1("Hello");
REQUIRE(str1 == "Hello"); REQUIRE(str1 == "Hello");
REQUIRE(str1 != "World"); REQUIRE(str1 != "World");
String str2("World"); String str2("World");
REQUIRE(str2 == "World"); REQUIRE(str2 == "World");
REQUIRE(str2 != "Hello"); REQUIRE(str2 != "Hello");
} }
SECTION("Trim") TEST_CASE("Trim")
{ {
String str1(" Hello World "); String str1(" Hello World ");
REQUIRE(str1.Trim() == "Hello World"); REQUIRE(str1.Trim() == "Hello World");
} }
SECTION("FindIndex") TEST_CASE("FindIndex")
{ {
String str1("Georg will save us all from our doom"); String str1("Georg will save us all from our doom");
REQUIRE(str1.FindStartIndexOf("save") == 11); REQUIRE(str1.FindStartIndexOf("save") == 11);
} }
SECTION("Upper/Lower") TEST_CASE("Upper/Lower")
{ {
String str1("Hello World"); String str1("Hello World");
str1.ToUpper(); str1.ToUpper();
REQUIRE(str1 == "HELLO WORLD"); REQUIRE(str1 == "HELLO WORLD");
String str2("Hello World"); String str2("Hello World");
str2.ToLower(); str2.ToLower();
REQUIRE(str2 == "hello world"); REQUIRE(str2 == "hello world");
} }
SECTION("Substring") TEST_CASE("Substring")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.SubString(0, 5) == "Hello"); REQUIRE(str1.SubString(0, 5) == "Hello");
REQUIRE(str1.SubString(6, 11) == "World"); REQUIRE(str1.SubString(6, 11) == "World");
} }
SECTION("FromString") TEST_CASE("FromString")
{ {
String str1("42"); String str1("42");
REQUIRE(str1.FromString<int>() == 42); REQUIRE(str1.FromString<int>() == 42);
String str2("42.42"); String str2("42.42");
REQUIRE(str2.FromString<float>() == 42.42f); REQUIRE(str2.FromString<float>() == 42.42f);
} }
SECTION("StartsWith") TEST_CASE("StartsWith")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.StartsWith("Hello")); REQUIRE(str1.StartsWith("Hello"));
REQUIRE(!str1.StartsWith("World")); REQUIRE(!str1.StartsWith("World"));
} }
SECTION("EndsWith") TEST_CASE("EndsWith")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.EndsWith("World")); REQUIRE(str1.EndsWith("World"));
REQUIRE(!str1.EndsWith("Hello")); REQUIRE(!str1.EndsWith("Hello"));
} }
SECTION("Contains") TEST_CASE("Contains")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.Contains("Hello")); REQUIRE(str1.Contains("Hello"));
REQUIRE(str1.Contains("World")); REQUIRE(str1.Contains("World"));
REQUIRE(!str1.Contains("Georg")); REQUIRE(!str1.Contains("Georg"));
} }
SECTION("FindEndIndexOf") TEST_CASE("FindEndIndexOf")
{ {
String str1("Georg will save us all from our doom"); String str1("Georg will save us all from our doom");
REQUIRE(str1.FindEndIndexOf("save") == 11); REQUIRE(str1.FindEndIndexOf("save") == 11);
} }
SECTION("TrimFront") TEST_CASE("TrimFront")
{ {
String str1(" Hello World"); String str1(" Hello World");
REQUIRE(str1.TrimFront() == "Hello World"); REQUIRE(str1.TrimFront() == "Hello World");
} }
SECTION("TrimBack") TEST_CASE("TrimBack")
{ {
String str1("Hello World "); String str1("Hello World ");
REQUIRE(str1.TrimBack() == "Hello World"); REQUIRE(str1.TrimBack() == "Hello World");
} }
SECTION("Empty") TEST_CASE("Empty")
{ {
String str1; String str1;
REQUIRE(str1.Empty()); REQUIRE(str1.Empty());
REQUIRE(!str1); REQUIRE(!str1);
String str2("Hello World"); String str2("Hello World");
REQUIRE(!str2.Empty()); REQUIRE(!str2.Empty());
REQUIRE(!!str2); REQUIRE(!!str2);
} }
SECTION("Size") TEST_CASE("Size")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.Size() == 11); REQUIRE(str1.Size() == 11);
} }
SECTION("Capacity") TEST_CASE("Capacity")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.Capacity() >= 11); REQUIRE(str1.Capacity() >= 11);
} }
SECTION("CharCount") TEST_CASE("CharCount")
{ {
String str1("Hello World"); String str1("Hello World");
REQUIRE(str1.CharCount() == 11); REQUIRE(str1.CharCount() == 11);
} }
SECTION("PopBack") TEST_CASE("PopBack")
{ {
String str1("Hello World"); String str1("Hello World");
str1.PopBack(); str1.PopBack();
REQUIRE(str1 == "Hello Worl"); REQUIRE(str1 == "Hello Worl");
} }
SECTION("Clear") TEST_CASE("Clear")
{ {
String str1("Hello World"); String str1("Hello World");
str1.Clear(); str1.Clear();
REQUIRE(str1.Empty()); REQUIRE(str1.Empty());
} }
SECTION("ShrinkToFit")
{
String str1("Hello World");
str1.ShrinkToFit();
REQUIRE(str1.Capacity() == 15); // 11 + 4 null terminators due to sso
}
}