*/
#include <sstream>
#include <fstream>
#include <string>
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MAIN
#define BOOST_TEST_MODULE YieldTestSuite
#include <boost/test/unit_test.hpp>
#include <stdair/basic/BasLogParams.hpp>
#include <stdair/basic/BasDBParams.hpp>
#include <stdair/basic/BasFileMgr.hpp>
#include <stdair/bom/TravelSolutionStruct.hpp>
#include <stdair/service/Logger.hpp>
#include <airrac/AIRRAC_Service.hpp>
#include <airrac/config/airrac-paths.hpp>
namespace boost_utf = boost::unit_test;
std::ofstream utfReportStream ("YieldTestSuite_utfresults.xml");
struct UnitTestConfig {
UnitTestConfig() {
boost_utf::unit_test_log.set_stream (utfReportStream);
boost_utf::unit_test_log.set_format (boost_utf::XML);
boost_utf::unit_test_log.set_threshold_level (boost_utf::log_test_units);
}
~UnitTestConfig() {
}
};
BOOST_GLOBAL_FIXTURE (UnitTestConfig);
BOOST_AUTO_TEST_SUITE (master_test_suite)
BOOST_AUTO_TEST_CASE (airrac_simple_yield) {
stdair::TravelSolutionStruct lTravelSolution;
stdair::TravelSolutionList_T lTravelSolutionList;
const stdair::Filename_T lYieldInputFilename (STDAIR_SAMPLE_DIR
"/yieldstore01.csv");
bool doesExistAndIsReadable =
stdair::BasFileMgr::doesExistAndIsReadable (lYieldInputFilename);
BOOST_CHECK_MESSAGE (doesExistAndIsReadable == true,
"The '" << lYieldInputFilename
<< "' input file can not be open and read");
const stdair::Filename_T lLogFilename ("YieldTestSuite.log");
std::ofstream logOutputFile;
logOutputFile.open (lLogFilename.c_str());
logOutputFile.clear();
const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile);
AIRRAC::AIRRAC_Service airracService (lLogParams);
AIRRAC::YieldFilePath lYieldFilePath (lYieldInputFilename);
airracService.parseAndLoad (lYieldFilePath);
lTravelSolutionList.push_back(lTravelSolution);
airracService.calculateYields (lTravelSolutionList);
logOutputFile.close();
}
BOOST_AUTO_TEST_SUITE_END()