#include #include #include #include #include using namespace std ; #include #include "IntFamily.h" #include "ParseFamily.h" void printIntFamilyList(vector *parsedFamilies) { vector::iterator ptrFamily ; for (ptrFamily = parsedFamilies->begin() ; ptrFamily != parsedFamilies->end() ; ++ptrFamily ) cout << *ptrFamily << 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]) ; vector *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 ; vector *parsedFamilies = ParseFamily(&myFInput) ; myFInput.close() ; printIntFamilyList(parsedFamilies) ; } }