/** * $Author: $ * $Rev: $ * $Date: $ * ACHTUNG: Diese Datei darf nicht verändert werden! */ #include "Prueffolge.h" #include #include using namespace std; Prueffolge::Prueffolge() { } Prueffolge::~Prueffolge() { for(list::iterator it=prueffaelle.begin(); it!=prueffaelle.end(); it++) { delete *it; } } void Prueffolge::anmelden(std::string bezeichnung, Prueffunktion test) { Prueffall* tf = new Prueffall(bezeichnung,test); tf->funktion = test; prueffaelle.push_back(tf); } void Prueffolge::ausfuehren() { int zaehlerTestBestanden = 0; for(list::iterator it=prueffaelle.begin(); it!=prueffaelle.end(); it++) { cout << "PRUEFUNG " << (*it)->bezeichnung << ": "; try { (*it)->funktion(); zaehlerTestBestanden++; cout << "ERFOLGREICH\n"; } catch(Fehler f) { cout << f.beschreibung() << endl; } } cout << zaehlerTestBestanden << " von " << prueffaelle.size() << " Pruefungen erfolgreich\n"; } void Prueffolge::sicherstellen(bool b, std::string dateiName, int zeile) { if(!b) { throw Fehler(dateiName, zeile); } } string Prueffolge::Fehler::beschreibung() { stringstream s; s << "FEHLER in " << dateiName << " Zeile " << zeile; return s.str(); }