/* Copyright (c) 2002,2003 CrystalClear Software, Inc. * Use, modification and distribution is subject to the * Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) * Author: Jeff Garland */ #include "boost/date_time/gregorian/greg_month.hpp" #include "../testfrmwk.hpp" #include void 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); } int main() { test_month(); return printTestStats(); }