text: #include "meetup.h"
  #define BOOST_TEST_MAIN
  #include <boost/test/unit_test.hpp>
  
  // See <http://www.boost.org/doc/libs/1_59_0/doc/html/date_time.html>
  // for documentation on boost::gregorian::date
  
  BOOST_AUTO_TEST_CASE(monteenth_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.monteenth());
  }
  
  BOOST_AUTO_TEST_CASE(monteenth_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.monteenth());
  }
  
  BOOST_AUTO_TEST_CASE(monteenth_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.monteenth());
  }
  
  BOOST_AUTO_TEST_CASE(tuesteenth_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.tuesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(tuesteenth_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.tuesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(tuesteenth_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.tuesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(wednesteenth_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.wednesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(wednesteenth_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.wednesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(wednesteenth_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.wednesteenth());
  }
  
  BOOST_AUTO_TEST_CASE(thursteenth_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.thursteenth());
  }
  
  BOOST_AUTO_TEST_CASE(thursteenth_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.thursteenth());
  }
  
  BOOST_AUTO_TEST_CASE(thursteenth_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.thursteenth());
  }
  
  BOOST_AUTO_TEST_CASE(friteenth_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.friteenth());
  }
  
  BOOST_AUTO_TEST_CASE(friteenth_of_Aug_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.friteenth());
  }
  
  BOOST_AUTO_TEST_CASE(friteenth_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.friteenth());
  }
  
  BOOST_AUTO_TEST_CASE(saturteenth_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.saturteenth());
  }
  
  BOOST_AUTO_TEST_CASE(saturteenth_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.saturteenth());
  }
  
  BOOST_AUTO_TEST_CASE(sunteenth_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.sunteenth());
  }
  
  BOOST_AUTO_TEST_CASE(sunteenth_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.sunteenth());
  }
  
  BOOST_AUTO_TEST_CASE(sunteenth_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.sunteenth());
  }
  
  BOOST_AUTO_TEST_CASE(first_Monday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 4};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_monday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Monday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 1};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_monday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Tuesday_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 7};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Tuesday_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 4};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Wednesday_of_July_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jul, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jul, 3};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Wednesday_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 7};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Thursday_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 5};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Thursday_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 3};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Friday_of_November_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Nov, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Nov, 1};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_friday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Friday_of_December_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Dec, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Dec, 6};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_friday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Saturday_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 5};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Saturday_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 2};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Sunday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 3};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(first_Sunday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 7};
      BOOST_REQUIRE_EQUAL(expected, meetup.first_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Monday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 11};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_monday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Monday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 8};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_monday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Tuesday_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 14};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Tuesday_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 11};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Wednesday_of_July_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jul, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jul, 10};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Wednesday_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 14};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Thursday_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 12};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Thursday_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 10};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Friday_of_November_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Nov, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Nov, 8};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_friday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Friday_of_December_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Dec, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Dec, 13};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_friday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Saturday_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 12};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Saturday_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 9};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Sunday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 10};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(second_Sunday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 14};
      BOOST_REQUIRE_EQUAL(expected, meetup.second_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Monday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 18};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_monday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Monday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 15};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_monday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Tuesday_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 21};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Tuesday_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 18};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Wednesday_of_July_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jul, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jul, 17};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Wednesday_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 21};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Thursday_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Thursday_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 17};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Friday_of_November_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Nov, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Nov, 15};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_friday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Friday_of_December_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Dec, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Dec, 20};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_friday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Saturday_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 19};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Saturday_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 16};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Sunday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 17};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(third_Sunday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 21};
      BOOST_REQUIRE_EQUAL(expected, meetup.third_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Monday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 25};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_monday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Monday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 22};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_monday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Tuesday_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Tuesday_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 25};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Wednesday_of_July_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jul, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jul, 24};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Wednesday_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Thursday_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 26};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Thursday_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 24};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Friday_of_November_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Nov, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Nov, 22};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_friday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Friday_of_December_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Dec, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Dec, 27};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_friday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Saturday_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 26};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Saturday_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 23};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Sunday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 24};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(fourth_Sunday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.fourth_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Monday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 25};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_monday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Monday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 29};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_monday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Tuesday_of_May_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::May, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::May, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Tuesday_of_June_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jun, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jun, 25};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_tuesday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Wednesday_of_July_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jul, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jul, 31};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Wednesday_of_August_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Aug, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Aug, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_wednesday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Thursday_of_September_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Sep, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Sep, 26};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Thursday_of_October_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Oct, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Oct, 31};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_thursday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Friday_of_November_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Nov, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Nov, 29};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_friday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Friday_of_December_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Dec, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Dec, 27};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_friday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Saturday_of_January_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Jan, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Jan, 26};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Saturday_of_February_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Feb, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Feb, 23};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_saturday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Sunday_of_March_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Mar, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Mar, 31};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_sunday());
  }
  
  BOOST_AUTO_TEST_CASE(last_Sunday_of_April_2013)
  {
      const meetup::scheduler meetup{boost::gregorian::Apr, 2013};
  
      const boost::gregorian::date expected{2013, boost::gregorian::Apr, 28};
      BOOST_REQUIRE_EQUAL(expected, meetup.last_sunday());
  }
  #if defined(EXERCISM_RUN_ALL_TESTS)
  
  #endif
  