/* 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_day.hpp" #include "boost/date_time/gregorian/greg_weekday.hpp" #include "boost/date_time/gregorian/greg_day_of_year.hpp" #include "../testfrmwk.hpp" #include void test_day() { using namespace boost::gregorian; greg_day d1(1); check("Basic test", d1 == 1); try { greg_day bad(0); check("Bad day creation", false); //oh oh, fail //unreachable std::cout << "Shouldn't reach here: " << bad << std::endl; } catch(std::exception &) { check("Bad day creation", true); //good } try { greg_day bad(32); check("Bad day creation2", false); //oh oh, fail //unreachable std::cout << "Shouldn't reach here: " << bad << std::endl; } catch(std::exception&) { check("Bad day creation2", true); //good } check("traits min day", (greg_day::min)() == 1); check("traits max day", (greg_day::max)() == 31); greg_weekday sunday(0); greg_weekday monday(1); check("Weekday 0 short name == Sun", sunday.as_short_string() == std::string("Sun")); check("Weekday 1 short name == Mon", monday.as_short_string() == std::string("Mon")); check("Weekday 2 short name == Tue", greg_weekday(2).as_short_string() == std::string("Tue")); check("Weekday 3 short name == Wed", greg_weekday(3).as_short_string() == std::string("Wed")); check("Weekday 4 short name == Thu", greg_weekday(4).as_short_string() == std::string("Thu")); check("Weekday 5 short name == Fri", greg_weekday(5).as_short_string() == std::string("Fri")); check("Weekday 6 short name == Sat", greg_weekday(6).as_short_string() == std::string("Sat")); try { greg_weekday bad(7); check("Bad weekday creation", false); //oh oh, fail //unreachable std::cout << "Shouldn't reach here: " << bad << std::endl; } catch(bad_weekday&) { check("Bad weekday creation", true); //good } try { greg_day_of_year_rep bad(367); check("Bad day of year", false); //oh oh, fail //unreachable std::cout << "Shouldn't reach here: " << bad << std::endl; } catch(bad_day_of_year&) { check("Bad day of year", true); //good } } int main() { test_day(); return printTestStats(); }