public void testSwaptionVolMatrixObservability()
        {
            //"Testing swaption volatility matrix observability...");

            CommonVars vars = new CommonVars();

            SwaptionVolatilityMatrix vol;
            string description;

            //floating reference date, floating market data
            description = "floating reference date, floating market data";
            vol         = new SwaptionVolatilityMatrix(vars.conventions.calendar,
                                                       vars.conventions.optionBdc,
                                                       vars.atm.tenors.options,
                                                       vars.atm.tenors.swaps,
                                                       vars.atm.volsHandle,
                                                       vars.conventions.dayCounter);

            vars.makeObservabilityTest(description, vol, true, true);

            //fixed reference date, floating market data
            description = "fixed reference date, floating market data";
            vol         = new SwaptionVolatilityMatrix(Settings.evaluationDate(),
                                                       vars.conventions.calendar,
                                                       vars.conventions.optionBdc,
                                                       vars.atm.tenors.options,
                                                       vars.atm.tenors.swaps,
                                                       vars.atm.volsHandle,
                                                       vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, true, false);

            // floating reference date, fixed market data
            description = "floating reference date, fixed market data";
            vol         = new SwaptionVolatilityMatrix(vars.conventions.calendar,
                                                       vars.conventions.optionBdc,
                                                       vars.atm.tenors.options,
                                                       vars.atm.tenors.swaps,
                                                       vars.atm.volsHandle,
                                                       vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, false, true);

            // fixed reference date, fixed market data
            description = "fixed reference date, fixed market data";
            vol         = new SwaptionVolatilityMatrix(Settings.evaluationDate(),
                                                       vars.conventions.calendar,
                                                       vars.conventions.optionBdc,
                                                       vars.atm.tenors.options,
                                                       vars.atm.tenors.swaps,
                                                       vars.atm.volsHandle,
                                                       vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, false, false);

            // fixed reference date and fixed market data, option dates
            //SwaptionVolatilityMatrix(const Date& referenceDate,
            //                         const std::vector<Date>& exerciseDates,
            //                         const std::vector<Period>& swapTenors,
            //                         const Matrix& volatilities,
            //                         const DayCounter& dayCounter);
        }
        public void testSwaptionVolMatrixObservability()
        {
            //"Testing swaption volatility matrix observability...");

            CommonVars vars=new CommonVars();

            SwaptionVolatilityMatrix vol;
            string description;

            //floating reference date, floating market data
            description = "floating reference date, floating market data";
            vol = new SwaptionVolatilityMatrix( vars.conventions.calendar,
                                                vars.conventions.optionBdc,
                                                vars.atm.tenors.options,
                                                vars.atm.tenors.swaps,
                                                vars.atm.volsHandle,
                                                vars.conventions.dayCounter);

            vars.makeObservabilityTest(description, vol, true, true);

            //fixed reference date, floating market data
            description = "fixed reference date, floating market data";
            vol = new SwaptionVolatilityMatrix( Settings.evaluationDate(),
                                                vars.conventions.calendar,
                                                vars.conventions.optionBdc,
                                                vars.atm.tenors.options,
                                                vars.atm.tenors.swaps,
                                                vars.atm.volsHandle,
                                                vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, true, false);

            // floating reference date, fixed market data
            description = "floating reference date, fixed market data";
            vol = new SwaptionVolatilityMatrix( vars.conventions.calendar,
                                                vars.conventions.optionBdc,
                                                vars.atm.tenors.options,
                                                vars.atm.tenors.swaps,
                                                vars.atm.volsHandle,
                                                vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, false, true);

            // fixed reference date, fixed market data
            description = "fixed reference date, fixed market data";
            vol = new SwaptionVolatilityMatrix( Settings.evaluationDate(),
                                                vars.conventions.calendar,
                                                vars.conventions.optionBdc,
                                                vars.atm.tenors.options,
                                                vars.atm.tenors.swaps,
                                                vars.atm.volsHandle,
                                                vars.conventions.dayCounter);
            vars.makeObservabilityTest(description, vol, false, false);

               // fixed reference date and fixed market data, option dates
                //SwaptionVolatilityMatrix(const Date& referenceDate,
                //                         const std::vector<Date>& exerciseDates,
                //                         const std::vector<Period>& swapTenors,
                //                         const Matrix& volatilities,
                //                         const DayCounter& dayCounter);
        }