13 #define BOOST_TEST_DYN_LINK
14 #define BOOST_TEST_MAIN
15 #define BOOST_TEST_MODULE FQTTestSuite
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/service/Logger.hpp>
22 #include <stdair/bom/TravelSolutionStruct.hpp>
23 #include <stdair/bom/BookingRequestStruct.hpp>
26 #include <simfqt/config/simfqt-paths.hpp>
28 namespace boost_utf = boost::unit_test;
33 struct UnitTestConfig {
36 static std::ofstream _test_log (
"FQTTestSuite_utfresults.xml");
37 boost_utf::unit_test_log.set_stream (_test_log);
38 #if BOOST_VERSION_MACRO >= 105900
39 boost_utf::unit_test_log.set_format (boost_utf::OF_XML);
40 #else // BOOST_VERSION_MACRO
41 boost_utf::unit_test_log.set_format (boost_utf::XML);
42 #endif // BOOST_VERSION_MACRO
43 boost_utf::unit_test_log.set_threshold_level (boost_utf::log_test_units);
56 void testFareQuoterHelper (
const unsigned short iTestFlag,
57 const stdair::Filename_T iFareInputFilename,
58 const bool isBuiltin) {
61 std::ostringstream oStr;
62 oStr <<
"FQTTestSuite_" << iTestFlag <<
".log";
63 const stdair::Filename_T lLogFilename (oStr.str());
66 std::ofstream logOutputFile;
68 logOutputFile.open (lLogFilename.c_str());
69 logOutputFile.clear();
72 const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG,
79 if (isBuiltin ==
true) {
82 simfqtService.buildSampleBom();
88 simfqtService.parseAndLoad (lFareFilePath);
92 stdair::TravelSolutionList_T lTravelSolutionList;
93 simfqtService.buildSampleTravelSolutions (lTravelSolutionList);
94 stdair::BookingRequestStruct lBookingRequest =
95 simfqtService.buildBookingRequest();
98 simfqtService.quotePrices (lBookingRequest, lTravelSolutionList);
101 logOutputFile.close();
108 BOOST_GLOBAL_FIXTURE (UnitTestConfig);
111 BOOST_AUTO_TEST_SUITE (master_test_suite)
116 BOOST_AUTO_TEST_CASE (simfqt_simple_pricing_test) {
119 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fare01.csv");
122 const bool isBuiltin =
false;
125 BOOST_CHECK_NO_THROW (testFareQuoterHelper (0, lFareInputFilename, isBuiltin));
133 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_01) {
136 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError01.csv");
139 const bool isBuiltin =
false;
142 BOOST_CHECK_THROW (testFareQuoterHelper (1, lFareInputFilename, isBuiltin),
150 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_02) {
153 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError02.csv");
156 const bool isBuiltin =
false;
159 BOOST_CHECK_THROW (testFareQuoterHelper (2, lFareInputFilename, isBuiltin),
167 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_03) {
170 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError03.csv");
173 const bool isBuiltin =
false;
176 BOOST_CHECK_THROW (testFareQuoterHelper (3, lFareInputFilename, isBuiltin),
184 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_04) {
187 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError04.csv");
190 const bool isBuiltin =
false;
193 BOOST_CHECK_THROW (testFareQuoterHelper (4, lFareInputFilename, isBuiltin),
201 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_05) {
204 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError05.csv");
207 const bool isBuiltin =
false;
210 BOOST_CHECK_THROW (testFareQuoterHelper (5, lFareInputFilename, isBuiltin),
218 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_06) {
221 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError06.csv");
224 const bool isBuiltin =
false;
227 BOOST_CHECK_THROW (testFareQuoterHelper (6, lFareInputFilename, isBuiltin),
235 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_07) {
238 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/fareError07.csv");
241 const bool isBuiltin =
false;
244 BOOST_CHECK_THROW (testFareQuoterHelper (7, lFareInputFilename, isBuiltin),
252 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_08) {
255 const stdair::Filename_T lFareInputFilename (STDAIR_SAMPLE_DIR
"/missingFile.csv");
258 const bool isBuiltin =
false;
261 BOOST_CHECK_THROW (testFareQuoterHelper (8, lFareInputFilename, isBuiltin),
269 BOOST_AUTO_TEST_CASE (simfqt_error_pricing_test_09) {
272 const stdair::Filename_T lEmptyInputFilename (STDAIR_SAMPLE_DIR
"/ ");
275 const bool isBuiltin =
true;
278 BOOST_CHECK_NO_THROW(testFareQuoterHelper (9, lEmptyInputFilename, isBuiltin));
283 BOOST_AUTO_TEST_SUITE_END()