Listing 2
class MyTestSuite : public CxxTest::TestSuite { typedef UtilityDomain::Unit_c<int> Integer_t; public: void testParser() { string ThisFile("c:/Work/EJG Benchmarks.csv"); string ThatFile("c:/Work/Parser.out"); Parser_c ThisParser('\n','?',' '); TS_TRACE("Trying to parse " + ThisFile + "..."); bool bThisParse = ThisParser.Parse(ThisFile); TS_ASSERT(bThisParse == true); if(!bThisParse) { TS_TRACE("Parse failed..."); return; } else TS_TRACE("Parse completed successfully..."); Parser_c::Matrix_t const& ThisMatrix = ThisParser.Matrix(); TS_TRACE("Checking matrix size..."); TS_ASSERT(ThisMatrix.size() != 0); if(ThisMatrix.size()) TS_TRACE("Matrix has " + (string) Integer_t(ThisMatrix.size()) + " elements..."); } void testTelerateParser() { TS_TRACE("Creating parser with config file '../7103.cfg'..."); TelerateParser_c ThisParser("../7103.cfg"); // TELERATE TelerateParser_c::Settings_t const& TheseSettings = ThisParser.Settings(); TS_TRACE("Checking parser settings..."); // FAILS IF THE COLLECTION IS EMPTY TS_ASSERT(TheseSettings.size() > 0); TS_TRACE("Opening the output file..."); ofstream OutputStream("c:/Work/MBS.out"); // FAILS IF THE OUTPUTSTREAM IS NOT GOOD - SAME AS == true TS_ASSERT_EQUALS(OutputStream.good(),true); TS_TRACE("Opening the input file..."); ifstream InputStream("c:/Work/EJGBenchmarks.prn"); // FAILS IF THE INPUTSTREAM IS NOT GOOD - SAME AS != false TS_ASSERT_DIFFERS(InputStream.good(),false); TS_TRACE("Streaming input file..."); InputStream >> ThisParser; Parser_c::Matrix_t const& ThisMatrix = ThisParser.Matrix(); TS_TRACE("Checking matrix size..."); TS_ASSERT_EQUALS(ThisMatrix.empty(),false); if(ThisMatrix.size()) TS_TRACE("Matrix has " + (string) Integer_t(ThisMatrix.size()) + " elements..."); TS_TRACE("Streaming output file..."); OutputStream << ThisParser; TS_ASSERT(OutputStream.good() == true); } void testRolloverParser() { TS_TRACE("Creating parser with config file '../7039.cfg'..."); RollParser_c ThisParser("../7039.cfg"); // ROLLS TelerateParser_c::Settings_t const& TheseSettings = ThisParser.Settings(); TS_TRACE("Checking parser settings..."); // FAILS IF THE COLLECTION IS EMPTY TS_ASSERT(TheseSettings.size() > 0); TS_TRACE("Opening the output file..."); ofstream OutputStream("c:/Work/MBS.out"); // FAILS IF THE OUTPUTSTREAM IS NOT GOOD - SAME AS == true TS_ASSERT_EQUALS(OutputStream.good(),true); TS_TRACE("Opening the input file..."); ifstream InputStream("c:/Work/EJGBenchmarks.prn"); // FAILS IF THE INPUTSTREAM IS NOT GOOD - SAME AS != false TS_ASSERT_DIFFERS(InputStream.good(),false); TS_TRACE("Streaming input file..."); InputStream >> ThisParser; Parser_c::Matrix_t const& ThisMatrix = ThisParser.Matrix(); TS_TRACE("Checking matrix size..."); TS_ASSERT_EQUALS(ThisMatrix.empty(),false); if(ThisMatrix.size()) TS_TRACE("Matrix has " + (string) Integer_t(ThisMatrix.size()) + " elements..."); TS_TRACE("Streaming output file..."); OutputStream << ThisParser; TS_ASSERT(OutputStream.good() == true); } void testTradeWebParser() { TS_TRACE("Creating parser with config file '../7103.cfg'..."); TradeWebParser_c ThisParser("../7684.cfg"); // TRADEWEB TelerateParser_c::Settings_t const& TheseSettings = ThisParser.Settings(); TS_TRACE("Checking parser settings..."); // FAILS IF THE COLLECTION IS EMPTY TS_ASSERT(TheseSettings.size() > 0); TS_TRACE("Opening the output file..."); ofstream OutputStream("c:/Work/MBS.out"); // FAILS IF THE OUTPUTSTREAM IS NOT GOOD - SAME AS == true TS_ASSERT_EQUALS(OutputStream.good(),true); TS_TRACE("Opening the input file..."); ifstream InputStream("c:/Work/EJGBenchmarks.prn"); // FAILS IF THE INPUTSTREAM IS NOT GOOD - SAME AS != false TS_ASSERT_DIFFERS(InputStream.good(),false); TS_TRACE("Streaming input file..."); InputStream >> ThisParser; // FAILS IF THE INPUTSTREAM IS NOT GOOD - SAME AS == true //TS_ASSERT(InputStream.good() == true); Parser_c::Matrix_t const& ThisMatrix = ThisParser.Matrix(); TS_TRACE("Checking matrix size..."); TS_ASSERT_EQUALS(ThisMatrix.empty(),false); if(ThisMatrix.size()) TS_TRACE("Matrix has " + (string) Integer_t(ThisMatrix.size()) + " elements..."); TS_TRACE("Streaming output file..."); OutputStream << ThisParser; TS_ASSERT(OutputStream.good() == true); } };