Who would have thought that the following test would fail:
private Date getDate14April() {
Calendar calendar = Calendar.getInstance();
calendar.set(2007, 3, 14, 15, 30); // 14 april 15:30
return calendar.getTime();
}
public void testCompareDate() {
Date date = getDate14April();
for (int i=0; i < 100; i++) {
assertEquals(getDate14April, date);
}
Stacktrace (edited brackets):
junit.framework.AssertionFailedError: 60 expected: [Sat Apr 14 15:30:40 CEST 2007] but was:[Sat Apr 14 15:30:40 CEST 2007]
at org.westen.act.document.TestTemplateManager.testCompareDate(TestTemplateManager.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
JavaDoc of Date.equals:
Compares two dates for equality.
The result is true if and only if the argument is not null> and is a Date object that represents the same point in time, to the millisecond, as this object.
Hmm, I would have though that the milliseconds would have been initialized to 0 when I create a date object.
Tuesday, January 29, 2008
Subscribe to:
Post Comments (Atom)
2 comments:
Is there a typo in the for loop above?
Blogger messed up the source code, would be nice if there is a way to copy/paste code and keep the formatting.
Fixed the code by restoring from memory
Post a Comment