2025-04-27 07:49:33 -04:00

68 lines
1.0 KiB
C++

#include "autoptrtest.h"
#include "TestSuite.h"
#include "TestCaller.h"
#include <scopeguard.h>
autobufferTest::autobufferTest(std::string name)
: TestCase (name)
{
}
autobufferTest::~autobufferTest()
{
}
void autobufferTest::setUp ()
{
}
void autobufferTest::tearDown ()
{
}
void autobufferTest::testDelete()
{
memory_leaks l;
{
char *p = new char[10];
wmilib::auto_buffer<char> ap(p,10);
assert(ap.size()==10);
assert(ap.get()==p);
p[0] = 1;
assert(ap[0]==1);
}
assert(!l.hasleaks());
{
wmilib::auto_buffer<char> up;
{
char *p = new char[10];
wmilib::auto_buffer<char> ap(p,10);
up = ap;
assert(up.size()==10);
assert(up.get()==p);
assert(ap.get()==0);
assert(ap.size()==-1);
}
}
assert(!l.hasleaks());
}
Test *autobufferTest::suite ()
{
TestSuite *suite = new TestSuite ("autobuffer");
suite->addTest (new TestCaller<autobufferTest>("testDelete",testDelete));
return suite;
}