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