13 #define BOOST_TEST_DYN_LINK 14 #define BOOST_TEST_MAIN 15 #define BOOST_TEST_MODULE YieldTestSuite 16 #include <boost/test/unit_test.hpp> 17 #include <boost/version.hpp> 19 #include <stdair/basic/BasLogParams.hpp> 20 #include <stdair/basic/BasDBParams.hpp> 21 #include <stdair/basic/BasFileMgr.hpp> 22 #include <stdair/bom/TravelSolutionStruct.hpp> 23 #include <stdair/service/Logger.hpp> 28 namespace boost_utf = boost::unit_test;
31 std::ofstream utfReportStream (
"YieldTestSuite_utfresults.xml");
36 struct UnitTestConfig {
39 boost_utf::unit_test_log.set_stream (utfReportStream);
40 #if BOOST_VERSION >= 105900 41 boost_utf::unit_test_log.set_format (boost_utf::OF_XML);
43 boost_utf::unit_test_log.set_format (boost_utf::XML);
45 boost_utf::unit_test_log.set_threshold_level (boost_utf::log_test_units);
59 void testYieldQuoterHelper (
const unsigned short iTestFlag,
60 const stdair::Filename_T iYieldInputFilename,
61 const bool isBuiltin) {
64 std::ostringstream oStr;
65 oStr <<
"FQTTestSuite_" << iTestFlag <<
".log";
66 const stdair::Filename_T lLogFilename (oStr.str());
69 std::ofstream logOutputFile;
71 logOutputFile.open (lLogFilename.c_str());
72 logOutputFile.clear();
75 const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG,
82 stdair::TravelSolutionList_T lTravelSolutionList;
83 airracService.buildSampleTravelSolutions (lTravelSolutionList);
86 if (isBuiltin ==
true) {
89 airracService.buildSampleBom();
95 airracService.parseAndLoad (lYieldFilePath);
99 airracService.calculateYields (lTravelSolutionList);
102 logOutputFile.close();
110 BOOST_GLOBAL_FIXTURE (UnitTestConfig);
113 BOOST_AUTO_TEST_SUITE (master_test_suite)
118 BOOST_AUTO_TEST_CASE (airrac_simple_yield) {
121 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/yieldstore01.csv");
124 const bool isBuiltin =
false;
127 BOOST_CHECK_NO_THROW (testYieldQuoterHelper (0, lYieldInputFilename, isBuiltin));
135 BOOST_AUTO_TEST_CASE (airrac_error_parsing_input_file) {
138 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/yieldstoreError01.csv");
141 const bool isBuiltin =
false;
144 BOOST_CHECK_THROW (testYieldQuoterHelper (1, lYieldInputFilename, isBuiltin),
152 BOOST_AUTO_TEST_CASE (airrac_error_missing_input_file) {
155 const stdair::Filename_T lYieldInputFilename (
STDAIR_SAMPLE_DIR "/missingFile.csv");
158 const bool isBuiltin =
false;
161 BOOST_CHECK_THROW (testYieldQuoterHelper (2, lYieldInputFilename, isBuiltin),
168 BOOST_AUTO_TEST_CASE (airrac_simple_yield_built_in) {
171 const bool isBuiltin =
true;
174 BOOST_CHECK_NO_THROW (testYieldQuoterHelper (3,
" ", isBuiltin));
179 BOOST_AUTO_TEST_SUITE_END()
Interface for the AIRRAC Services.
#define STDAIR_SAMPLE_DIR