* Wrong unit test and algorithm for leapyears (year 1900)
This commit is contained in:
12
src/Date.cpp
12
src/Date.cpp
@@ -303,9 +303,15 @@ bool Date::leapYear (int year)
|
||||
{
|
||||
bool ly = false;
|
||||
|
||||
if (!(year % 4)) ly = true;
|
||||
else if (!(year % 400)) ly = true;
|
||||
else if (!(year % 100)) ly = false;
|
||||
if (!(year % 4))
|
||||
{
|
||||
ly = true;
|
||||
if (!(year % 100))
|
||||
{
|
||||
ly = false;
|
||||
if (!(year % 400)) ly =true;
|
||||
}
|
||||
}
|
||||
|
||||
return ly;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ int main (int argc, char** argv)
|
||||
t.ok (Date::leapYear (2008), "2008 is a leap year");
|
||||
t.notok (Date::leapYear (2007), "2007 is not a leap year");
|
||||
t.ok (Date::leapYear (2000), "2000 is a leap year");
|
||||
t.ok (Date::leapYear (1900), "1900 is a leap year");
|
||||
t.notok (Date::leapYear (1900), "1900 is not a leap year");
|
||||
|
||||
// Days in month.
|
||||
t.is (Date::daysInMonth (2, 2008), 29, "29 days in February 2008");
|
||||
|
||||
Reference in New Issue
Block a user