[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kspread/tests
From:       Ariya Hidayat <ariya () kde ! org>
Date:       2004-09-28 16:17:47
Message-ID: 20040928161747.DCAC1126DA () office ! kde ! org
[Download RAW message or body]

CVS commit by ariya: 

check every valid dates in 150 years, can't miss it


  M +18 -2     value_tester.cc   1.5


--- koffice/kspread/tests/value_tester.cc  #1.4:1.5
@@ -26,4 +26,5 @@
 
 #define CHECK(x,y)  check(__FILE__,__LINE__,#x,x,y)
+#define CHECK_DATE(d,x) check(__FILE__,__LINE__,d->asDate().toString().latin1(),d->asFloat(),x)
 
 using namespace KSpread;
@@ -149,5 +150,20 @@ void ValueTester::run()
   delete v1;
 
-  // TODO date value
+  // check all (valid) dates from 1900 to 2050
+  // note: bail on first error immediately
+  QDate refDate( 1899, 12, 31 );
+  v1 = new KSpreadValue();
+  bool date_error = 0;
+  for( unsigned y = 1900; !date_error && y < 2050; y++ )
+  for( unsigned m = 1; !date_error && m <= 12; m++ )
+  for( unsigned d = 1; !date_error && d <= 31; d++ )
+  {
+    QDate dv1 = QDate( y, m, d );
+    if( !dv1.isValid() ) continue;
+    double serialNo = -dv1.daysTo( refDate ) + 1.0;
+    v1->setValue( dv1 );
+    CHECK_DATE(v1,serialNo);
+    date_error = v1->asFloat() != serialNo;
+  } 
 
   // time value


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic