/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ #include "Test1.h" #include "Test2.h" #include "Test3a.h" #include "Test3b.h" #include "Test3.h" #include "Test4.h" #include #include #include /* Use BOOST_MSVC instead of _MSC_VER since some other vendors (Metrowerks, for example) also #define _MSC_VER */ #ifdef BOOST_MSVC # include # define BOOST_LIB_NAME boost_unit_test_framework # include # undef BOOST_LIB_NAME /* uncomment the following lines to unmask floating-point exceptions. See http://www.wilmott.com/messageview.cfm?catid=10&threadid=9481 */ //# include // namespace { unsigned int u = _controlfp(_EM_INEXACT, _MCW_EM); } #endif #include "cliquetoptionbates.h" #include "americanoption.hpp" #include "array.hpp" #include "asianoptions.hpp" #include "assetswap.hpp" #include "barrieroption.hpp" #include "basketoption.hpp" #include "batesmodel.hpp" #include "bermudanswaption.hpp" #include "bonds.hpp" #include "brownianbridge.hpp" #include "calendars.hpp" #include "capfloor.hpp" #include "capflooredcoupon.hpp" #include "cliquetoption.hpp" #include "cms.hpp" #include "compoundforward.hpp" #include "convertiblebonds.hpp" #include "covariance.hpp" #include "curvestates.hpp" #include "dates.hpp" #include "daycounters.hpp" #include "digitalcoupon.hpp" #include "digitaloption.hpp" #include "distributions.hpp" #include "dividendoption.hpp" #include "europeanoption.hpp" #include "exchangerate.hpp" #include "factorial.hpp" #include "forwardoption.hpp" #include "gaussianquadratures.hpp" #include "hestonmodel.hpp" #include "hybridhestonhullwhiteprocess.hpp" #include "inflation.hpp" #include "instruments.hpp" #include "integrals.hpp" #include "interestrates.hpp" #include "interpolations.hpp" #include "libormarketmodel.hpp" #include "libormarketmodelprocess.hpp" #include "linearleastsquaresregression.hpp" #include "jumpdiffusion.hpp" #include "lookbackoptions.hpp" #include "lowdiscrepancysequences.hpp" #include "marketmodel.hpp" #include "marketmodel_smmcapletalphacalibration.hpp" #include "marketmodel_smmcapletcalibration.hpp" #include "marketmodel_smmcaplethomocalibration.hpp" #include "marketmodel_smm.hpp" #include "marketmodel_cms.hpp" #include "matrices.hpp" #include "mclongstaffschwartzengine.hpp" #include "mersennetwister.hpp" #include "money.hpp" #include "operators.hpp" #include "optimizers.hpp" #include "pathgenerator.hpp" #include "period.hpp" #include "piecewiseyieldcurve.hpp" #include "quantooption.hpp" #include "quotes.hpp" #include "riskstats.hpp" #include "rngtraits.hpp" #include "rounding.hpp" #include "sampledcurve.hpp" #include "shortratemodels.hpp" #include "solvers.hpp" #include "surface.hpp" #include "stats.hpp" #include "swap.hpp" #include "swapforwardmappings.hpp" #include "swaption.hpp" #include "swaptionvolatilitycube.hpp" #include "termstructures.hpp" #include "timeseries.hpp" #include "tqreigendecomposition.hpp" #include "tracing.hpp" #include "transformedgrid.hpp" #include "varianceswaps.hpp" #include "volatilitymodels.hpp" #include "swaptionvolatilitymatrix.hpp" // to be deprecated #include "old_pricers.hpp" #include #include using namespace boost::unit_test_framework; namespace { boost::timer t; void startTimer() { t.restart(); } void stopTimer() { double seconds = t.elapsed(); int hours = int(seconds/3600); seconds -= hours * 3600; int minutes = int(seconds/60); seconds -= minutes * 60; std::cout << " \nTests completed in "; if (hours > 0) std::cout << hours << " h "; if (hours > 0 || minutes > 0) std::cout << minutes << " m "; std::cout << std::fixed << std::setprecision(0) << seconds << " s\n" << std::endl; } } test_suite* init_unit_test_suite(int, char* []) { test_suite* test = BOOST_TEST_SUITE("QuantLib test suite"); return test; } void main(){ // BatesModelTest test; // test.testAnalyticVsBlack(); // test.testAnalyticVsJumpDiffusion(); // test.testDAXCalibration(); Test4 test; test.testBates(); // CliquetOptionBatesTest test; // test.testValues(); // Test_bates test; // test.testBates(); // HestonModelTest test; // test.testKahlJaeckelCase(); return; }