1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include "BDDTest.h"
- #include "trace.h"
- #include <sstream>
- #include <iostream>
- #include <string>
- #include <list>
- int testCount = 0;
- int testPasses = 0;
- const char* testDescription;
- std::list<std::string> failureList;
- void bddtest_suite(const char* name) {
- LOG(name << "\n");
- }
- int bddtest_test(const char* file, int line, const char* assertion, int result) {
- if (!result) {
- LOG("✗\n");
- std::ostringstream os;
- os << " ! "<<testDescription<<"\n " <<file << ":" <<line<<" : "<<assertion<<" ["<<result<<"]";
- failureList.push_back(os.str());
- }
- return result;
- }
- void bddtest_start(const char* description) {
- LOG(" - "<<description<<" ");
- testDescription = description;
- testCount ++;
- }
- void bddtest_end() {
- LOG("✓\n");
- testPasses ++;
- }
- int bddtest_summary() {
- for (std::list<std::string>::iterator it = failureList.begin(); it != failureList.end(); it++) {
- LOG("\n");
- LOG(*it);
- LOG("\n");
- }
- LOG(std::dec << testPasses << "/" << testCount << " tests passed\n\n");
- if (testPasses == testCount) {
- return 0;
- }
- return 1;
- }
|