Я пытаюсь реализовать тест JUnit для метода, который создает и возвращает объект Cursor
объекта Image
при перемещении колеса мыши. Идея заключается в том, чтобы загрузить другой курсор каждый раз, когда перемещение колеса мыши:Сравните равенство двух объектов курсора
public void testMouseWheelMoved() {
MouseWheelEvent e = new MouseWheelEvent(aJPanel, 0, 0, 0, 0, 0, 0, true, 0, 0, 0);
for (String iconName : myListenerClass.getIconNames()) {
myListenerClass.mouseWheelMoved(e);
Cursor currentViewCursor = aJPanel.getCursor();
assertEquals(currentViewCursor, myListenerClass.getCursorForIcon(iconName));
}
}
getCursorForIcon
возвращает объект Cursor
. myListenerClass
- это экземпляр класса, реализующего MouseWheelListener
. aJPanel
- это экземпляр класса, распространяющегося на JPanel
.
public void mouseWheelMoved(MouseWheelEvent e) {
// ...
String iconName = this.iconNames.get(0); // returns icon name at index 0
this.view.setCursor(this.getCursorForIcon(iconName));
}
this.view
является aJPanel
сверху.
К сожалению, этот тест (assertEquals
) всегда терпит неудачу, хотя оба сравниваются Cursor
Объекты должны быть идентичными.
Любая идея, почему это не работает?
Какое испытание не удается? –