testdate_duration.cpp

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

CPP
78
字号
/* 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/testfrmwk.hpp"#include <iostream>void test_date_duration(){  using namespace boost::gregorian;    date_duration threeDays(3);  date_duration twoDays(2);  //date_duration zeroDays(0);  check("Self equal case",       threeDays == threeDays);  check("Not equal case",        !(threeDays == twoDays));  check("Less case succeed",     twoDays < threeDays);  check("Not less case",         !(threeDays < twoDays));  check("Not less case - equal", !(threeDays < threeDays));  check("Greater than ",         !(threeDays > threeDays));  check("Greater equal ",        threeDays >= threeDays);  check("Greater equal - false", !(twoDays >= threeDays));  check("add", twoDays + threeDays == date_duration(5));  date_duration fiveDays = threeDays;  fiveDays += twoDays;  check("add", fiveDays == date_duration(5));  date_duration tenDays = fiveDays;  tenDays += date_duration(5);  check("add", tenDays.days() == 10);    date_duration derivedOneDay = threeDays - twoDays;  check("Subtraction - neg result", twoDays - threeDays == date_duration(-1));  date_duration oneDay(1);  check("Subtraction",           oneDay == derivedOneDay);  date_duration fiveDaysDerived = tenDays;  fiveDaysDerived -= fiveDays;  check("Subtraction",           fiveDaysDerived == fiveDays);  oneDay = twoDays / 2;  check("Division",           oneDay.days() == 1);  date_duration oneDayDivide = threeDays / 2;  check("Division",           oneDayDivide.days() == 1);  date_duration hundred(100);  hundred /= -10;  check("Division",           hundred.days() == -10 && hundred.is_negative());  date_duration pos_dur(123);  date_duration neg_dur(-pos_dur);  check("unary-", neg_dur.days() == -123);    // special values tests  date_duration pi_dur(pos_infin);  date_duration ni_dur(neg_infin);  date_duration nd_dur(not_a_date_time);  check("pos_inf + neg_inf",  (pi_dur + ni_dur) == nd_dur);  //check("inf * integer",    (pi_dur * 2) == pi_dur); // not implemented  check("neg_inf / integer",  (ni_dur / 3) == ni_dur);  check("inf + dur",          (pi_dur + hundred) == pi_dur);  check("unary-",              date_duration(-pi_dur) == ni_dur); //   date_duration dd(1);//   dd++;//   check("Increment",             dd == twoDays);}int main() {  test_date_duration();  return printTestStats();}

⌨️ 快捷键说明

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