*/
#include <sstream>
#include <fstream>
#include <string>
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MAIN
#define BOOST_TEST_MODULE TravelCCMTest
#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/bom/BookingRequestStruct.hpp>
#include <stdair/service/Logger.hpp>
namespace boost_utf = boost::unit_test;
std::ofstream utfReportStream ("TravelChoiceTestSuite_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 (simple_simulation_test) {
const stdair::Filename_T lLogFilename ("TravelChoiceTestSuite.log");
std::ofstream logOutputFile;
logOutputFile.open (lLogFilename.c_str());
logOutputFile.clear();
const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile);
STDAIR_LOG_DEBUG ("Welcome to TravelCCM");
const stdair::BookingRequestStruct& lBookingRequest =
travelccmService.buildSampleBookingRequest();
STDAIR_LOG_DEBUG ("Booking request: " << lBookingRequest.display());
stdair::TravelSolutionList_T lTSList;
travelccmService.buildSampleTravelSolutions (lTSList);
const std::string& lCSVDump = travelccmService.csvDisplay (lTSList);
STDAIR_LOG_DEBUG (lCSVDump);
const stdair::TravelSolutionStruct* lTS_ptr =
travelccmService.chooseTravelSolution (lTSList, lBookingRequest);
BOOST_REQUIRE_MESSAGE (lTS_ptr != NULL,
"No travel solution can be found for "
<< lBookingRequest.display()
<< " within the following list of travel solutions. "
<< lCSVDump);
logOutputFile.close();
}
BOOST_AUTO_TEST_SUITE_END()