Modules/Strings/tests/TestsStrings.cpp
2023-10-22 20:23:29 +03:00

49 lines
No EOL
833 B
C++

#include "NewPlacement.hpp"
#include "Strings.hpp"
#include "Tests.hpp"
using namespace tp;
struct TestStruct {
String str = "test data";
};
TEST_DEF_STATIC(Addition) {
String str1 = "abc";
String str2 = "def";
{ str1 + str2; }
{
TEST(str1 + str2 == "abcdef");
TEST(str1 + "aaaccc" == "abcaaaccc");
}
}
TEST_DEF_STATIC(Simple) {
String str;
TEST(str.getIsConstFlag());
TEST(str.getReferenceCount() == 2);
String str2;
TEST(str.getIsConstFlag());
TEST(str.getReferenceCount() == 3);
auto tmp = new TestStruct();
TEST(tmp->str.getIsConstFlag());
TEST(tmp->str.getReferenceCount() == 1);
str = tmp->str;
TEST(str.getIsConstFlag());
TEST(str.getReferenceCount() == 2);
delete tmp;
TEST(str.getIsConstFlag());
TEST(str.getReferenceCount() == 1);
}
TEST_DEF(Strings) {
testSimple();
testAddition();
}