check("month traits min", greg_month::min() == 1); check("month traits max", greg_month::max() == 12);
check("month traits min", (greg_month::min)() == 1); check("month traits max", (greg_month::max)() == 12);
test_month() {  using namespace boost::gregorian;  greg_month m1(Jan), m2(Feb), m3(Mar), m4(Apr), m5(May), m6(Jun);  greg_month m7(Jul), m8(Aug), m9(Sep), m10(Oct), m11(Nov),m12(Dec);  check("January  as_number", m1.as_number() == 1);  check("December as_number", m12.as_number() == 12);  check("Jan as Short String",  m1.as_short_string()  == std::string("Jan"));  check("Feb as Short String",  m2.as_short_string()  == std::string("Feb"));  check("Mar as Short String",  m3.as_short_string()  == std::string("Mar"));  check("Apr as Short String",  m4.as_short_string()  == std::string("Apr"));  check("May as Short String",  m5.as_short_string()  == std::string("May"));  check("Jun as Short String",  m6.as_short_string()  == std::string("Jun"));  check("Jul as Short String",  m7.as_short_string()  == std::string("Jul"));  check("Aug as Short String",  m8.as_short_string()  == std::string("Aug"));  check("Sep as Short String",  m9.as_short_string()  == std::string("Sep"));  check("Oct as Short String",  m10.as_short_string() == std::string("Oct"));  check("Nov as Short String",  m11.as_short_string() == std::string("Nov"));  check("Dec as Short String",  m12.as_short_string() == std::string("Dec"));  check("Jan as Long String",  m1.as_long_string()  == std::string("January"));  check("Feb as Long String",  m2.as_long_string()  == std::string("February"));  check("Mar as Long String",  m3.as_long_string()  == std::string("March"));  check("Apr as Long String",  m4.as_long_string()  == std::string("April"));  check("May as Long String",  m5.as_long_string()  == std::string("May"));  check("Jun as Long String",  m6.as_long_string()  == std::string("June"));  check("Jul as Long String",  m7.as_long_string()  == std::string("July"));  check("Aug as Long String",  m8.as_long_string()  == std::string("August"));  check("Sep as Long String",  m9.as_long_string()  == std::string("September"));  check("Oct as Long String",  m10.as_long_string() == std::string("October"));  check("Nov as Long String",  m11.as_long_string() == std::string("November"));  check("Dec as Long String",  m12.as_long_string() == std::string("December"));  //month m(5);  //TODO can this support NAM? or check exception  //  greg_month sm0(0);  greg_month sm1(1);  greg_month sm12(12);  //check("check not a month value", sm0.as_short_string() == "NAM");  check("short construction -- 1",         sm1.as_short_string() == std::string("Jan"));  check("short construction -- 12",         sm12.as_short_string() == std::string("Dec"));  check("month traits min", greg_month::min() == 1);  check("month traits max", greg_month::max() == 12);}