- Fixed relative day tests.

This commit is contained in:
Paul Beckingham 2008-07-05 01:22:22 -04:00
parent ef7ff55535
commit 72c7afe1a1
2 changed files with 24 additions and 25 deletions

View file

@ -158,46 +158,46 @@ int main (int argc, char** argv)
ok (r3.sameDay (now - 86400), "yesterday = now - 1d"); ok (r3.sameDay (now - 86400), "yesterday = now - 1d");
Date r4 ("sunday"); Date r4 ("sunday");
if (now.dayOfWeek () <= 0) if (now.dayOfWeek () >= 0)
ok (r4.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next sunday"); ok (r4.sameDay (now + (0 - now.dayOfWeek () + 7) * 86400), "next sunday");
else else
ok (r4.sameDay (now + (r4.dayOfWeek () - now.dayOfWeek ()) * 86400), "next sunday"); ok (r4.sameDay (now + (0 - now.dayOfWeek ()) * 86400), "next sunday");;
Date r5 ("monday"); Date r5 ("monday");
if (now.dayOfWeek () <= 1) if (now.dayOfWeek () >= 1)
ok (r5.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next monday"); ok (r5.sameDay (now + (1 - now.dayOfWeek () + 7) * 86400), "next monday");
else else
ok (r5.sameDay (now + (r5.dayOfWeek () - now.dayOfWeek ()) * 86400), "next monday"); ok (r5.sameDay (now + (1 - now.dayOfWeek ()) * 86400), "next monday");;
Date r6 ("tuesday"); Date r6 ("tuesday");
if (now.dayOfWeek () <= 2) if (now.dayOfWeek () >= 2)
ok (r6.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next tuesday"); ok (r6.sameDay (now + (2 - now.dayOfWeek () + 7) * 86400), "next tuesday");
else else
ok (r6.sameDay (now + (r6.dayOfWeek () - now.dayOfWeek ()) * 86400), "next tuesday"); ok (r6.sameDay (now + (2 - now.dayOfWeek ()) * 86400), "next tuesday");;
Date r7 ("wednesday"); Date r7 ("wednesday");
if (now.dayOfWeek () <= 3) if (now.dayOfWeek () >= 3)
ok (r7.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next wednesday"); ok (r7.sameDay (now + (3 - now.dayOfWeek () + 7) * 86400), "next wednesday");
else else
ok (r7.sameDay (now + (r7.dayOfWeek () - now.dayOfWeek ()) * 86400), "next wednesday"); ok (r7.sameDay (now + (3 - now.dayOfWeek ()) * 86400), "next wednesday");;
Date r8 ("thursday"); Date r8 ("thursday");
if (now.dayOfWeek () <= 4) if (now.dayOfWeek () >= 4)
ok (r8.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next thursday"); ok (r8.sameDay (now + (4 - now.dayOfWeek () + 7) * 86400), "next thursday");
else else
ok (r8.sameDay (now + (r8.dayOfWeek () - now.dayOfWeek ()) * 86400), "next thursday"); ok (r8.sameDay (now + (4 - now.dayOfWeek ()) * 86400), "next thursday");;
Date r9 ("friday"); Date r9 ("friday");
if (now.dayOfWeek () <= 5) if (now.dayOfWeek () >= 5)
ok (r9.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next friday"); ok (r9.sameDay (now + (5 - now.dayOfWeek () + 7) * 86400), "next friday");
else else
ok (r9.sameDay (now + (r9.dayOfWeek () - now.dayOfWeek ()) * 86400), "next friday"); ok (r9.sameDay (now + (5 - now.dayOfWeek ()) * 86400), "next friday");;
Date r10 ("saturday"); Date r10 ("saturday");
if (now.dayOfWeek () <= 6) if (now.dayOfWeek () >= 6)
ok (r10.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next saturday"); ok (r10.sameDay (now + (6 - now.dayOfWeek () + 7) * 86400), "next saturday");
else else
ok (r10.sameDay (now + (r10.dayOfWeek () - now.dayOfWeek ()) * 86400), "next saturday"); ok (r10.sameDay (now + (6 - now.dayOfWeek ()) * 86400), "next saturday");;
Date r11 ("eow"); Date r11 ("eow");
ok (r11 < now + (8 * 86400), "eow < 7 days away"); ok (r11 < now + (8 * 86400), "eow < 7 days away");

View file

@ -265,15 +265,15 @@ int convertDuration (const std::string& input)
{ {
std::string found = matches[0]; std::string found = matches[0];
if (found == "daily" || found == "day") return 1; if (found == "daily" || found == "day") return 1;
else if (found == "weekly" || found == "sennight") return 7; else if (found == "weekly" || found == "sennight") return 7;
else if (found == "biweekly" || found == "fortnight") return 14; else if (found == "biweekly" || found == "fortnight") return 14;
else if (found == "semimonthly") return 15; else if (found == "semimonthly") return 15;
else if (found == "monthly") return 30; else if (found == "monthly") return 30;
else if (found == "bimonthly") return 61; else if (found == "bimonthly") return 61;
else if (found == "quarterly") return 91; else if (found == "quarterly") return 91;
else if (found == "semiannual") return 183; else if (found == "semiannual") return 183;
else if (found == "yearly" || found == "annual") return 365; else if (found == "yearly" || found == "annual") return 365;
else if (found == "biannual" || found == "biyearly") return 730; else if (found == "biannual" || found == "biyearly") return 730;
} }
@ -289,7 +289,6 @@ int convertDuration (const std::string& input)
i == length - 1) i == length - 1)
{ {
int number = ::atoi (input.substr (0, i).c_str ()); int number = ::atoi (input.substr (0, i).c_str ());
char ordinal = input[length - 1];
switch (input[length - 1]) switch (input[length - 1])
{ {