first commit
This commit is contained in:
67
extern/STLport/5.2.1/test/unit/memory_test.cpp
vendored
Normal file
67
extern/STLport/5.2.1/test/unit/memory_test.cpp
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
#include <memory>
|
||||
|
||||
#include "cppunit/cppunit_proxy.h"
|
||||
|
||||
#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
|
||||
using namespace std;
|
||||
#endif
|
||||
|
||||
//
|
||||
// TestCase class
|
||||
//
|
||||
class MemoryTest : public CPPUNIT_NS::TestCase
|
||||
{
|
||||
CPPUNIT_TEST_SUITE(MemoryTest);
|
||||
#if defined (_STLP_MSVC) && (_STLP_MSVC < 1310)
|
||||
CPPUNIT_IGNORE;
|
||||
#endif
|
||||
CPPUNIT_TEST(auto_ptr_test);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
protected:
|
||||
void auto_ptr_test();
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(MemoryTest);
|
||||
|
||||
#if !defined (_STLP_MSVC) || (_STLP_MSVC >= 1310)
|
||||
auto_ptr<int> CreateAutoPtr(int val)
|
||||
{ return auto_ptr<int>(new int(val)); }
|
||||
|
||||
bool CheckEquality(auto_ptr<int> pint, int val)
|
||||
{ return *pint == val; }
|
||||
#endif
|
||||
|
||||
//
|
||||
// tests implementation
|
||||
//
|
||||
void MemoryTest::auto_ptr_test()
|
||||
{
|
||||
#if !defined (_STLP_MSVC) || (_STLP_MSVC >= 1310)
|
||||
{
|
||||
auto_ptr<int> pint(new int(1));
|
||||
CPPUNIT_ASSERT( *pint == 1 );
|
||||
*pint = 2;
|
||||
CPPUNIT_ASSERT( *pint == 2 );
|
||||
}
|
||||
|
||||
{
|
||||
auto_ptr<int> pint(CreateAutoPtr(3));
|
||||
CPPUNIT_ASSERT( *pint == 3 );
|
||||
CPPUNIT_ASSERT( CheckEquality(pint, 3) );
|
||||
}
|
||||
|
||||
{
|
||||
auto_ptr<const int> pint(new int(2));
|
||||
CPPUNIT_ASSERT( *pint == 2 );
|
||||
}
|
||||
{
|
||||
auto_ptr<volatile int> pint(new int(2));
|
||||
CPPUNIT_ASSERT( *pint == 2 );
|
||||
}
|
||||
{
|
||||
auto_ptr<const volatile int> pint(new int(2));
|
||||
CPPUNIT_ASSERT( *pint == 2 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user