49 lines
No EOL
833 B
C++
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();
|
|
} |