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);
  }
};