#include #include #include #include using namespace std ; #include #include "List.h" #include "IntFamily.h" #include "ParseFamily.h" void printIntFamilyList(List *parsedFamilies) { IntFamily newFamily(-1) ; // Just a temporary for (parsedFamilies->setStart() ; parsedFamilies->getValue(newFamily) ; parsedFamilies->next() ) cout << newFamily << endl ; } main(int argc, char *argv[]) { char *testCases[] = { "1->11,13,15,17,19\n2->12,14,16,18,20\n333->\n", "333->2002\n", "15\n", "15-\n", "15->\n", "15->13,\n", "\n", " 1 -> 2 , 3, 4, 5 \n", "Boaz->Obed\n", (char *)NULL } ; if (argc<2) for (int i=0; testCases[i] != NULL; ++i) { cout << "Running test case " << i << endl ; istringstream iTestStream(testCases[i]) ; List *parsedFamilies = ParseFamily(&iTestStream) ; printIntFamilyList(parsedFamilies) ; delete parsedFamilies ; } else { ifstream myFInput(argv[1]) ; if (myFInput.bad()) { cerr << "Unable to open " << argv[1] << endl ; exit(1) ; } cout << "Reading from file " << argv[1] << endl ; List *parsedFamilies = ParseFamily(&myFInput) ; myFInput.close() ; printIntFamilyList(parsedFamilies) ; } }