Unit Tests - util.t

- Added unit tests for formatSeconds and formatSecondsCompact.
- Fixed small boundary but in formatSeconds.
This commit is contained in:
Paul Beckingham 2009-12-09 17:12:50 -05:00
parent 42c1b30c31
commit 8d43a35ca4
2 changed files with 63 additions and 15 deletions

View file

@ -164,7 +164,7 @@ std::string formatSeconds (time_t delta)
char formatted[24];
float days = (float) delta / 86400.0;
if (days > 365)
if (days >= 365)
sprintf (formatted, "%.1f yrs", (days / 365.2422)); // TODO i18n
else if (days > 84)
sprintf (formatted, "%1d mth%s", // TODO i18n
@ -174,19 +174,19 @@ std::string formatSeconds (time_t delta)
sprintf (formatted, "%d wk%s", // TODO i18n
(int) (days / 7.0),
((int) (days / 7.0) == 1 ? "" : "s")); // TODO i18n
else if (days > 1.0)
else if (days >= 1.0)
sprintf (formatted, "%d day%s", // TODO i18n
(int) days,
((int) days == 1 ? "" : "s")); // TODO i18n
else if (days * 24 > 1.0)
else if (days * 24 >= 1.0)
sprintf (formatted, "%d hr%s", // TODO i18n
(int) (days * 24.0),
((int) (days * 24) == 1 ? "" : "s")); // TODO i18n
else if (days * 24 * 60 > 1)
else if (days * 24 * 60 >= 1)
sprintf (formatted, "%d min%s", // TODO i18n
(int) (days * 24 * 60),
((int) (days * 24 * 60) == 1 ? "" : "s")); // TODO i18n
else if (days * 24 * 60 * 60 > 1)
else if (days * 24 * 60 * 60 >= 1)
sprintf (formatted, "%d sec%s", // TODO i18n
(int) (days * 24 * 60 * 60),
((int) (days * 24 * 60 * 60) == 1 ? "" : "s")); // TODO i18n
@ -203,13 +203,13 @@ std::string formatSecondsCompact (time_t delta)
char formatted[24];
float days = (float) delta / 86400.0;
if (days > 365) sprintf (formatted, "%.1fy", (days / 365.2422)); // TODO i18n
else if (days > 84) sprintf (formatted, "%1dmo", (int) (days / 30.6)); // TODO i18n
else if (days > 13) sprintf (formatted, "%dwk", (int) (days / 7.0)); // TODO i18n
else if (days > 1.0) sprintf (formatted, "%dd", (int) days); // TODO i18n
else if (days * 24 > 1.0) sprintf (formatted, "%dh", (int) (days * 24.0)); // TODO i18n
else if (days * 24 * 60 > 1) sprintf (formatted, "%dm", (int) (days * 24 * 60)); // TODO i18n
else if (days * 24 * 3600 > 1) sprintf (formatted, "%ds", (int) (days * 24 * 60 * 60)); // TODO i18n
if (days >= 365) sprintf (formatted, "%.1fy", (days / 365.2422)); // TODO i18n
else if (days > 84) sprintf (formatted, "%1dmo", (int) (days / 30.6)); // TODO i18n
else if (days > 13) sprintf (formatted, "%dwk", (int) (days / 7.0)); // TODO i18n
else if (days >= 1.0) sprintf (formatted, "%dd", (int) days); // TODO i18n
else if (days * 24 >= 1.0) sprintf (formatted, "%dh", (int) (days * 24.0)); // TODO i18n
else if (days * 24 * 60 >= 1) sprintf (formatted, "%dm", (int) (days * 24 * 60)); // TODO i18n
else if (days * 24 * 3600 >= 1) sprintf (formatted, "%ds", (int) (days * 24 * 60 * 60)); // TODO i18n
else
strcpy (formatted, "-"); // no i18n