testgreg_duration_operators.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 86 行

CPP
86
字号
/* 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, Bart Garst */#include "boost/date_time/gregorian/gregorian.hpp"#include "boost/date_time/posix_time/posix_time.hpp"#include "boost/date_time/testfrmwk.hpp"int main(){#if !defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)  // do not set this test to return fail -   // this is not necessarily a compiler problem  check("Optional gregorian types not selected - no tests run", true);#else  using namespace boost::gregorian;  using namespace boost::posix_time;        /*** months ***/  {    ptime p(date(2001, Oct, 31), hours(5));    check("ptime + months",         ptime(date(2002, Feb, 28), hours(5)) == p + months(4));    p += months(4);    check("ptime += months",         ptime(date(2002, Feb, 28), hours(5)) == p);  }  {    ptime p(date(2001, Oct, 31), hours(5));    check("ptime - months",         ptime(date(2001, Apr, 30), hours(5)) == p - months(6));    p -= months(6);    check("ptime -= months",         ptime(date(2001, Apr, 30), hours(5)) == p);  }  /*** years ***/  {    ptime p(date(2001, Feb, 28), hours(5));    check("ptime + years",         ptime(date(2004, Feb, 29), hours(5)) == p + years(3));    p += years(3);    check("ptime += years",         ptime(date(2004, Feb, 29), hours(5)) == p);  }  {    ptime p(date(2000, Feb, 29), hours(5));    check("ptime - years",         ptime(date(1998, Feb, 28), hours(5)) == p - years(2));    p -= years(2);    check("ptime -= years",         ptime(date(1998, Feb, 28), hours(5)) == p);  }    /*** weeks ***/  // shouldn't need many tests, it is nothing more than a date_duration  // so all date_duration tests should prove this class  {    ptime p(date(2001, Feb, 28), hours(5));    check("ptime + weeks",         ptime(date(2001, Mar, 21), hours(5)) == p + weeks(3));    p += weeks(3);    check("ptime += weeks",         ptime(date(2001, Mar, 21), hours(5)) == p);  }  {    ptime p(date(2001, Feb, 28), hours(5));    check("ptime - weeks",         ptime(date(2001, Feb, 14), hours(5)) == p - weeks(2));    p -= weeks(2);    check("ptime -= weeks",         ptime(date(2001, Feb, 14), hours(5)) == p);  }#endif // BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES  return printTestStats();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?