Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
test.cpp
Go to the documentation of this file.
1 
14 #include "test.h"
15 #include "commonParameters.h"
16 
17 #include "bridgeIO.h"
18 using Bridge::vout;
19 
20 #ifdef USE_TESTMANAGER
21 #include "testManager.h"
22 #endif
23 
24 // utility routines for verifying test result.
25 
26 namespace Test {
27  int verify(const double expected, const double result)
28  {
30 
31  int verify_result = 0; // 0 for successful, 1 for failure.
32 
33  int precision = default_precision;
34 
35 #if USE_TESTMANAGER
36  // obtain current precision specified through menu.
38 #endif
39 
40  double eps = pow(10.0, -precision);
41 
42  vout.general(vl, "\n");
43  vout.general(vl, "check test data\n");
44  // vout.general(vl, "%s \n", testname.c_str());
45 
46  //vout.general(vl, "check precision = %d\n", precision);
47  vout.general(vl, "check precision = %2.1e\n", eps);
48 
49  vout.general(vl, "result: %15.14le expected: %15.14le\n", result, expected);
50 
51  double diff;
52  if (fabs(expected) > eps) {
53  diff = (result - expected) / expected;
54  } else {
55  diff = result - expected;
56  }
57 
58  if (fabs(diff) <= eps) {
59  vout.general(vl, "test result: correct! (^_^)\n");
60  verify_result = 0;
61  } else {
62  vout.general(vl, "test result: incorrect! (T_T)\n");
63  verify_result = 1;
64  }
65  vout.general(vl, "diff: expected - result = %15.14le\n", diff);
66  //vout.general(vl, "diff1: expected - result = %15.14le\n", diff);
67  //vout.general(vl, "diff2: exp(-diff) = %15.14le\n", exp(-diff));
68  vout.general(vl, "\n");
69 
70  return verify_result;
71  }
72 }
BridgeIO vout
Definition: bridgeIO.cpp:207
void general(const char *format,...)
Definition: bridgeIO.cpp:38
static Bridge::VerboseLevel Vlevel()
int getCheckPrecision() const
Definition: testManager.h:83
static const int default_precision
Definition: test.h:33
static TestManager & Instance()
Definition: testManager.cpp:41
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:25
int verify(const double expected, const double result)
Definition: test.cpp:27