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