diff options
Diffstat (limited to 'test/eh/test_algobase.cpp')
-rw-r--r-- | test/eh/test_algobase.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/test/eh/test_algobase.cpp b/test/eh/test_algobase.cpp deleted file mode 100644 index 6db4929..0000000 --- a/test/eh/test_algobase.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/*********************************************************************************** - test_algobase.cpp - - * Copyright (c) 1997 - * Mark of the Unicorn, Inc. - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Mark of the Unicorn makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - -***********************************************************************************/ - -# include "Prefix.h" -# if defined (EH_NEW_HEADERS) -# ifdef __SUNPRO_CC -# include <stdio.h> -# endif -#include <algorithm> -# else -#include <algo.h> -# endif -#include "Tests.h" -#include "LeakCheck.h" -#include "TestClass.h" - -// EH_USE_STD - -enum { kBufferSize = 100 }; - -struct test_uninitialized_copy -{ - test_uninitialized_copy() - : stuff( new TestClass[kBufferSize] ), end_of_stuff(stuff + kBufferSize) { - gTestController.SetCurrentTestName("uninitialized_copy()"); - } - - ~test_uninitialized_copy() { delete[] stuff; } - - void operator()( TestClass* buffer ) const - { - EH_STD::uninitialized_copy((TestClass*)stuff, (TestClass*)end_of_stuff, buffer ); - EH_ASSERT( EH_STD::equal( (TestClass*)stuff, (TestClass*)end_of_stuff, buffer ) ); - stl_destroy( buffer, buffer+kBufferSize ); - } - -private: - TestClass * stuff; - TestClass * end_of_stuff; -}; - -struct test_uninitialized_fill -{ - test_uninitialized_fill() { - gTestController.SetCurrentTestName("uninitialized_fill()"); - } - - void operator()( TestClass* buffer ) const - { - TestClass* buf_end = buffer + kBufferSize; - EH_STD::uninitialized_fill( buffer, buf_end, testValue ); - for ( EH_CSTD::size_t i = 0; i < kBufferSize; i++ ) - EH_ASSERT( buffer[i] == testValue ); - stl_destroy( buffer, buf_end ); - } -private: - TestClass testValue; -}; - -struct test_uninitialized_fill_n -{ - test_uninitialized_fill_n() { - gTestController.SetCurrentTestName("uninitialized_fill_n()"); - } - void operator()( TestClass* buffer ) const - { - TestClass* end = buffer + kBufferSize; - EH_STD::uninitialized_fill_n( buffer, (EH_CSTD::size_t)kBufferSize, testValue ); - for ( EH_CSTD::size_t i = 0; i < kBufferSize; i++ ) - EH_ASSERT( buffer[i] == testValue ); - stl_destroy( buffer, end ); - } -private: - TestClass testValue; -}; - -void test_algobase() -{ - // force alignment - double arr[ sizeof(TestClass) * kBufferSize ]; - TestClass* c = (TestClass*)arr; - WeakCheck( c, test_uninitialized_copy() ); - WeakCheck( c, test_uninitialized_fill() ); - WeakCheck( c, test_uninitialized_fill_n() ); -} |