ultimatepp/autotest/StringBuffer2GB/StringBuffer2GB.cpp
cxl f34467b7a9 .autotest
git-svn-id: svn://ultimatepp.org/upp/trunk@9782 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2016-05-03 09:32:48 +00:00

74 lines
1.3 KiB
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
#ifdef PLATFORM_WIN32 // Not enough memory in linux machine to run this test (TODO)
{
StringBuffer sb;
for(int i = 0; i < INT_MAX; i++) {
sb.Cat(i % 37);
}
ASSERT(sb.GetCount() == INT_MAX);
for(int i = 0; i < INT_MAX; i++) {
ASSERT((byte)sb[i] == i % 37);
}
}
DUMP(MemoryUsedKb());
{
StringBuffer sb2;
for(int i = 0; i < INT_MAX; i++) {
char h[2] = { char(i % 43), 0 };
sb2.Cat(h, 1);
}
ASSERT(sb2.GetCount() == INT_MAX);
for(int i = 0; i < INT_MAX; i++) {
ASSERT((byte)sb2[i] == i % 43);
}
}
DUMP(MemoryUsedKb());
{
WStringBuffer wb;
for(int i = 0; i < INT_MAX; i++) {
wb.Cat(i % 37777);
}
ASSERT(wb.GetCount() == INT_MAX);
for(int i = 0; i < INT_MAX; i++) {
ASSERT(wb[i] == i % 37777);
}
}
DUMP(MemoryUsedKb());
{
WStringBuffer wb2;
for(int i = 0; i < INT_MAX; i++) {
wchar wh[2] = { wchar(i % 37771), 0 };
wb2.Cat(wh, 1);
}
ASSERT(wb2.GetCount() == INT_MAX);
for(int i = 0; i < INT_MAX; i++) {
ASSERT(wb2[i] == i % 37771);
}
}
DUMP(MemoryUsedKb());
#endif
LOG("=========== Everything OK!");
}