13 #define BOOST_TEST_DYN_LINK
14 #define BOOST_TEST_MAIN
15 #define BOOST_TEST_MODULE YieldTestSuite
16 #include <boost/test/unit_test.hpp>
18 #include <stdair/basic/BasLogParams.hpp>
19 #include <stdair/basic/BasDBParams.hpp>
20 #include <stdair/basic/BasFileMgr.hpp>
21 #include <stdair/bom/TravelSolutionStruct.hpp>
22 #include <stdair/service/Logger.hpp>
27 namespace boost_utf = boost::unit_test;
30 std::ofstream utfReportStream (
"YieldTestSuite_utfresults.xml");
35 struct UnitTestConfig {
38 boost_utf::unit_test_log.set_stream (utfReportStream);
39 #if defined(BOOST_VERSION) && BOOST_VERSION >= 105900
40 boost_utf::unit_test_log.set_format (boost_utf::OF_XML);
41 #else // BOOST_VERSION
42 boost_utf::unit_test_log.set_format (boost_utf::XML);
43 #endif // BOOST_VERSION
44 boost_utf::unit_test_log.set_threshold_level (boost_utf::log_test_units);
58 void testYieldQuoterHelper (
const unsigned short iTestFlag,
59 const stdair::Filename_T iYieldInputFilename,
60 const bool isBuiltin) {
63 std::ostringstream oStr;
64 oStr <<
"FQTTestSuite_" << iTestFlag <<
".log";
65 const stdair::Filename_T lLogFilename (oStr.str());
68 std::ofstream logOutputFile;
70 logOutputFile.open (lLogFilename.c_str());
71 logOutputFile.clear();
74 const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG,
81 stdair::TravelSolutionList_T lTravelSolutionList;
82 airracService.buildSampleTravelSolutions (lTravelSolutionList);
85 if (isBuiltin ==
true) {
88 airracService.buildSampleBom();
94 airracService.parseAndLoad (lYieldFilePath);
98 airracService.calculateYields (lTravelSolutionList);
101 logOutputFile.close();
109 BOOST_GLOBAL_FIXTURE (UnitTestConfig);
112 BOOST_AUTO_TEST_SUITE (master_test_suite)
117 BOOST_AUTO_TEST_CASE (airrac_simple_yield) {
120 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/yieldstore01.csv");
123 const bool isBuiltin =
false;
126 BOOST_CHECK_NO_THROW (testYieldQuoterHelper (0, lYieldInputFilename, isBuiltin));
134 BOOST_AUTO_TEST_CASE (airrac_error_parsing_input_file) {
137 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/yieldstoreError01.csv");
140 const bool isBuiltin =
false;
143 BOOST_CHECK_THROW (testYieldQuoterHelper (1, lYieldInputFilename, isBuiltin),
151 BOOST_AUTO_TEST_CASE (airrac_error_missing_input_file) {
154 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/missingFile.csv");
157 const bool isBuiltin =
false;
160 BOOST_CHECK_THROW (testYieldQuoterHelper (2, lYieldInputFilename, isBuiltin),
167 BOOST_AUTO_TEST_CASE (airrac_simple_yield_built_in) {
170 const bool isBuiltin =
true;
173 BOOST_CHECK_NO_THROW (testYieldQuoterHelper (3,
" ", isBuiltin));
178 BOOST_AUTO_TEST_SUITE_END()