#include "TestItem.hpp" #include "TestBed.hpp" #include #include TestBed *TestItem::theBed=NULL; TestItem::TestItem(const char *itemName) :name(NULL),success(false),fileName(NULL) { name = new char[strlen(itemName)+1]; strcpy(name,itemName); isSet=false; if(theBed) theBed->insert(this); else { std::cerr<<"ERROR: TestItem Static TestBed Not initialized.."<erase( theBed->find(this)); } std::ostream &operator<<(std::ostream &os, const TestItem &item) { if(item.success) os<<"Passed!"; else os<<"Failed!"; os<<':'<(const TestItem &item1, const TestItem &item2) { return (item1.compare(item2)>0); } bool operator<=(const TestItem &item1, const TestItem &item2) { return (item1.compare(item2)<=0); } bool operator>=(const TestItem &item1, const TestItem &item2) { return (item1.compare(item2)>=0); } bool operator==(const TestItem &item1, const TestItem &item2) { return (item1.compare(item2)==0); } bool operator!=(const TestItem &item1, const TestItem &item2) { return (item1.compare(item2)!=0); } void TestItem::failItem(const char *_fileName, const int lineNum) { if((!isSet)||(isSet&&success)) { success=false; isSet=true; fileName = new char[strlen(_fileName)+1]; strcpy(fileName,_fileName); lineNumber = lineNum; } } void TestItem::expectTrue(const char *_fileName, const int lineNum, const bool val) { if(val) passItem(); else { std::cout<<"FAIL:"<