⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ck_date.cpp

📁 一个不错
💻 CPP
📖 第 1 页 / 共 2 页
字号:
  tmp1.swap(tmp0);  CHK_DEFAULT(tmp0);  CHK_NOT_DEFAULT(tmp1);  CHK_EQU(tmp1,Nobj);  CHK_EQU(tmp0,rt0);  CHK_EQU(tmp1,rt1);  tmp0.swap(tmp1);  CHK_DEFAULT(tmp1);  CHK_NOT_DEFAULT(tmp0);  CHK_EQU(tmp0,Nobj);  CHK_EQU(tmp0,rt0);  CHK_EQU(tmp1,rt1);  // chk time_zone effect  tmp0=Nobj;  tmp1.reset();  const WyStr& tz0( tmp0.time_zone() );  const WyStr& tz1( tmp1.time_zone() );  if(tmp0.time_zone()==tmp1.time_zone()) {    WY_THROW( WyRet() );  }  if(tmp0.time_zone()!=Nobj.time_zone()) {    WY_THROW( WyRet() );  }  if(tmp1.time_zone()!="UTC") {    WY_THROW( WyRet() );  }  if(tz0!=Nobj.time_zone()) {    WY_THROW( WyRet() );  }  if(tz1!="UTC") {    WY_THROW( WyRet() );  }  tmp0.swap(tmp1);  if(tmp1.time_zone()!=Nobj.time_zone()) {    WY_THROW( WyRet() );  }  if(tmp0.time_zone()!="UTC") {    WY_THROW( WyRet() );  }  if(tz1!=Nobj.time_zone()) {    WY_THROW( WyRet() );  }  if(tz0!="UTC") {    WY_THROW( WyRet() );  } } // set_utc(const WyTimeSpec&) {  WyDate tmp(":Asia/Taipei",2000,1,2,3,4,5);  if((r=tmp.set_utc(WyTimeSpec(-28800,Wy_Nano())))!=Ok) {    WY_THROW(r);  }  if(tmp.year()!=1970) {    WY_THROW( WyRet() );  }  if(tmp.month()!=1) {    WY_THROW( WyRet() );  }  if(tmp.mday()!=1) {    WY_THROW( WyRet() );  }  if(tmp.hour()!=0) {    WY_THROW( WyRet() );  }  if(tmp.min()!=0) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=0) {    WY_THROW( WyRet() );  }  if(tmp.utc_time()!=WyTimeSpec(-28800,Wy_Nano())) {    WY_THROW( WyRet() );  } } // set_date(int,int,int,int,int,int) {  WyDate tmp(":Asia/Taipei",2000,1,2,3,4,5);  if((r=tmp.set_date(1970,1,1,0,0,0))!=Ok) {    WY_THROW(r);  }  if(tmp.year()!=1970) {    WY_THROW( WyRet() );  }  if(tmp.month()!=1) {    WY_THROW( WyRet() );  }  if(tmp.mday()!=1) {    WY_THROW( WyRet() );  }  if(tmp.hour()!=0) {    WY_THROW( WyRet() );  }  if(tmp.min()!=0) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=0) {    WY_THROW( WyRet() );  }  if(tmp.utc_time()!=WyTimeSpec(-28800,Wy_Nano())) {    WY_THROW( WyRet() );  } } // add {  WyDate tmp(":Asia/Taipei",2000,1,2,3,4,5);  if((r=tmp.add(WyTimeSpec(61,Wy_Nano())))!=Ok) {    WY_THROW(r);  }  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=6) {    WY_THROW( WyRet() );  }  // 2000-1-2 03:05 6"  if((r=tmp.add(WyTimeSpec(60*60,Wy_Nano())))!=Ok) {    WY_THROW(r);  }  if(tmp.hour()!=4) {    WY_THROW( WyRet() );  }  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=6) {    WY_THROW( WyRet() );  } } // operator = {  const ChkData& cd=cdt[0];  WyDate d0(cd.time_zone,cd.year,cd.month,cd.mday,cd.hour,cd.min,cd.sec),tmp;  CHK_NOT_DEFAULT(d0);  CHK_DEFAULT(tmp);  tmp=d0;  CHK_EQU(d0,tmp); } // operator += {  WyDate tmp(":Asia/Taipei",2000,1,2,3,4,5);  tmp+=WyTimeSpec(61,Wy_Nano());  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=6) {    WY_THROW( WyRet() );  }  // 2000-1-2 03:05 6"  tmp+=WyTimeSpec(60*60,Wy_Nano());  if(tmp.hour()!=4) {    WY_THROW( WyRet() );  }  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=6) {    WY_THROW( WyRet() );  } } // operator + {  WyDate d0(":America/Chicaco",2000,1,2,3,4,5);  WyDate tmp;  CHK_DEFAULT(tmp);  tmp= d0+WyTimeSpec(62,Wy_Nano());  if(d0.time_zone()!=tmp.time_zone()) {    WY_THROW( WyRet() );  }  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=7) {    WY_THROW( WyRet() );  }  tmp.reset();  CHK_DEFAULT(tmp);  tmp= WyTimeSpec(62,Wy_Nano())+d0;  if(d0.time_zone()!=tmp.time_zone()) {    WY_THROW( WyRet() );  }  if(tmp.min()!=5) {    WY_THROW( WyRet() );  }  if(tmp.sec()!=7) {    WY_THROW( WyRet() );  } } // chk move ctor {  const WyTimeSpec tm(123,345);  char buf[2*sizeof(WyDate)];    ::memset(buf,0,sizeof(buf));  WyDate*p=reinterpret_cast<WyDate*>(buf);  new(p) WyDate("UTC",tm);  new(p+1) WyDate(*p,Wy::ByMove);  if(*(p+1)!=WyDate("UTC",tm)) {    (p+1)->~WyDate();    WY_THROW( WyRet() );  }  (p+1)->~WyDate(); }};static void t_error(void){ WyRet r; WyDate d1,d2; // WyDate(const char*,const WyTimeSpec&) try {   WyDate tmp((const char*)0,WyTimeSpec());   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_EFAULT) {     WY_THROW( WyRet(e) );   } } catch(...) {   WY_TERMINATE(""); }; // WyDate(const &Str,const WyTimeSpec&) try {   WyDate tmp(WyStr(""),WyTimeSpec());   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_EINVAL) {     WY_THROW( WyRet(e) );   } } catch(...) {   WY_TERMINATE(""); }; // WyDate(const char*,int,int,int,int,int,int) try {   WyDate tmp((const char*)0,2000,1,2,3,4,5);   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_EFAULT) {     WY_THROW( WyRet(e) );   } } catch(...) {   WY_TERMINATE(""); }; // WyDate(const WyStr&,int,int,int,int,int,int) try {   WyDate tmp(WyStr(""),2000,1,2,3,4,5);   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_EINVAL) {     WY_THROW( WyRet(e) );   } } catch(...) {   WY_TERMINATE(""); }; // WyDate(const WyStr&,int,int,int,int,int,int) try {   WyDate tmp(WyStr(":Europe/Berlin"),-100,-2,-3,-4,-5,-6);   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_EINVAL) {     WY_THROW( WyRet(e) );   } } catch(...) {   WY_TERMINATE(""); }; // reset(const char*,const WyTimeSpec&) {  WyDate tmp;  CHK_DEFAULT(tmp);  if((r=tmp.reset((const char*)0,WyTimeSpec()))!=Wym_EFAULT) {    WY_THROW(r);  }  CHK_DEFAULT(tmp); } // reset(const WyStr&,const WyTimeSpec&) {  WyDate tmp;  CHK_DEFAULT(tmp);  if((r=tmp.reset(WyStr(""),WyTimeSpec()))!=Wym_EINVAL) {    WY_THROW(r);  }  CHK_DEFAULT(tmp); } // reset(const char*,int,int,int,int,int,int) {  WyDate tmp;  CHK_DEFAULT(tmp);  if((r=tmp.reset(":Africa/Freetown",3000,1,1,0,0,0))!=Wym_ERANGE) {    WY_THROW(r);  }  CHK_DEFAULT(tmp);  if((r=tmp.reset("",3000,1,1,0,0,0))!=Wym_EINVAL) {    WY_THROW(r);  }  CHK_DEFAULT(tmp); } // reset(const WyStr&,int,int,int,int,int,int) {  WyDate tmp;  CHK_DEFAULT(tmp);  if((r=tmp.reset(WyStr(":Africa/Freetown"),3000,1,1,0,0,0))!=Wym_ERANGE) {    WY_THROW(r);  }  CHK_DEFAULT(tmp);  if((r=tmp.reset(WyStr(""),3000,1,1,0,0,0))!=Wym_EINVAL) {    WY_THROW(r);  }  CHK_DEFAULT(tmp); } // set_utc(const WyTimeSpec&) { } // set_date(int,int,int,int,int,int) {  WyDate tmp;  if((r=tmp.set_date(3000,1,1,0,0,0))!=Wym_ERANGE) {    WY_THROW(r);  } } // operator+=(const WyTimeSpec&) try {   WyDate tmp("UTC",WyTimeSpec::max());   tmp+=WyTimeSpec(1,Wy_Nano());   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_ERANGE) {     WY_THROW(r);   } }; // operator +(const WyTimeSpec&,const WyDate&) try {   WyDate tmp("UTC",WyTimeSpec::max());   tmp= tmp+WyTimeSpec(1,Wy_Nano());   WY_THROW( WyRet() ); } catch(const WyDate::Reply& e) {   if(e!=Wym_ERANGE) {     WY_THROW(r);   } };};void ck_date(void){ t_date1(); t_error();};

⌨️ 快捷键说明

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