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
29template <class T>
30struct 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  }
43private:
44  const T& source;
45};
46
47#endif // test_assign_op_H_
48