Home | History | Annotate | Download | only in eh
      1 /***********************************************************************************
      2   test_assign_op.h
      3 
      4     SUMMARY: Test functor template for assignment operators.
      5 
      6  * Copyright (c) 1997
      7  * Mark of the Unicorn, Inc.
      8  *
      9  * Permission to use, copy, modify, distribute and sell this software
     10  * and its documentation for any purpose is hereby granted without fee,
     11  * provided that the above copyright notice appear in all copies and
     12  * that both that copyright notice and this permission notice appear
     13  * in supporting documentation.  Mark of the Unicorn makes no
     14  * representations about the suitability of this software for any
     15  * purpose.  It is provided "as is" without express or implied warranty.
     16 
     17 ***********************************************************************************/
     18 #ifndef test_assign_op_H_
     19 #define test_assign_op_H_
     20 
     21 #include "Prefix.h"
     22 #ifdef EH_NEW_HEADERS
     23 #  include <cassert>
     24 #else
     25 #  include <assert.h>
     26 #endif
     27 #include "nc_alloc.h"
     28 
     29 template <class T>
     30 struct test_assign_op {
     31   test_assign_op( const T& src )
     32     : source(src) {
     33     gTestController.SetCurrentTestName("assignment operator");
     34   }
     35 
     36   void operator()( T& t ) const {
     37     t = source;
     38 
     39     // Prevent simulated failures during verification
     40     gTestController.CancelFailureCountdown();
     41     //EH_ASSERT( source == t );
     42   }
     43 private:
     44   const T& source;
     45 };
     46 
     47 #endif // test_assign_op_H_
     48