147 {
148
149 BOOST_TEST_MESSAGE("Testing TuesdayAfterThirdFriday DateGeneration rule");
150
151 std::vector<Date> expectedDates;
152
153 expectedDates.push_back(Date(12, December, 2016));
154 expectedDates.push_back(Date(21, March, 2017));
155 expectedDates.push_back(Date(20, June, 2017));
156 expectedDates.push_back(Date(19, September, 2017));
157 expectedDates.push_back(Date(19, December, 2017));
158 expectedDates.push_back(Date(20, March, 2018));
159 expectedDates.push_back(Date(19, June, 2018));
160 expectedDates.push_back(Date(25, September, 2018));
161 expectedDates.push_back(Date(12, December, 2018));
162
163 Schedule s =
164 MakeSchedule().from(Date(12, December, 2016))
165 .to(Date(12, December, 2016) + Period(2, Years))
166 .withCalendar(TARGET())
167 .withTenor(3*Months)
168 .withConvention(ModifiedFollowing)
169 .withTerminationDateConvention(Unadjusted)
170 .withRule(DateGeneration::TuesdayAfterThirdFriday);
171
174}