/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #include #include "Data/Containers/String.hpp" using namespace OpenVulkano; TEST_CASE("String") { SECTION("Constructors") { String str1; REQUIRE(str1 == ""); String str2("Hello"); REQUIRE(str2 == "Hello"); String str3(std::string("World")); REQUIRE(str3 == "World"); String str4(str2); REQUIRE(str4 == "Hello"); String str5(std::move(str3)); REQUIRE(str5 == "World"); } SECTION("Assignment") { String str1; str1 = "Hello"; REQUIRE(str1 == "Hello"); String str2; str2 = std::string("World"); REQUIRE(str2 == "World"); String str3; str3 = str1; REQUIRE(str3 == "Hello"); String str4; str4 = std::move(str2); REQUIRE(str4 == "World"); } SECTION("Concatenation") { String str1("Hello"); str1 += " World"; REQUIRE(str1 == "Hello World"); String str2("Hello"); String str3 = str2 + " World"; REQUIRE(str3 == "Hello World"); String str4("Hello"); str4 += std::string(" World"); REQUIRE(str4 == "Hello World"); String str5("Hello"); String str6 = str5 + std::string(" World"); REQUIRE(str6 == "Hello World"); String str7("Hello"); str7 += String(" World"); REQUIRE(str7 == "Hello World"); String str8("Hello"); String str9 = str8 + String(" World"); REQUIRE(str9 == "Hello World"); } SECTION("Comparison") { String str1("Hello"); REQUIRE(str1 == "Hello"); REQUIRE(str1 != "World"); String str2("World"); REQUIRE(str2 == "World"); REQUIRE(str2 != "Hello"); } }