+
+ std::ifstream __in("testcases.txt");
+ for(;;)
+ {
+ $RETURNTYPE$ __expected;
+ $METHODPARAMDECLARES$
+ __in >> __expected >> $METHODPARAMSTREAMIN$;
+ if (!__in.good()) break;
+
+ std::cout << "----------------------------------------" << std::endl
+ << "Test " << (__pass + __fail) << ": ";
+ std::cout.flush();
+
+ __timer_start();
+
+ $CLASSNAME$ object;
+ $RETURNTYPE$ __actual = object.$METHODNAME$($METHODPARAMNAMES$);
+
+ double __t = __timer_stop();
+
+ if (__equals(__actual, __expected))
+ {
+ std::cout << "[PASS] in " << __t << " seconds." << std::endl;
+ ++__pass;
+ }
+ else
+ {
+ std::cout << "[FAIL] in " << __t << " seconds." << std::endl
+ << "-> Input: " << $METHODPARAMSTREAMOUT$ << std::endl
+ << " Actual: " << __actual << std::endl
+ << " Expected: " << __expected << std::endl;
+ ++__fail;
+ if (__exit_on_fail) exit(1);
+ }
+ }