00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef test_push_front_H_
00017 #define test_push_front_H_
00018
00019 # if defined (EH_NEW_HEADERS)
00020 # include <cassert>
00021 # else
00022 # include <assert.h>
00023 # endif
00024 # include "Prefix.h"
00025
00026 template <class C>
00027 struct test_push_front
00028 {
00029 test_push_front( const C& orig ) : original( orig ) {
00030 gTestController.SetCurrentTestName("push_front() method");
00031 }
00032
00033 void operator()( C& c ) const
00034 {
00035 typedef typename C::value_type _value_type;
00036 c.push_front( _value_type() );
00037 EH_ASSERT( c.size() == original.size() + 1 );
00038 typename C::const_iterator next = c.begin();
00039
00040 EH_ASSERT( EH_STD::equal( original.begin(), original.end(), ++next ) );
00041 }
00042 private:
00043 const C& original;
00044 };
00045
00046 #endif // test_push_front_H_