package org.oddjob.images;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ImageIcon;
import junit.framework.TestCase;
import org.oddjob.Iconic;
public class IconHelperTest extends TestCase {
class OurListener implements IconListener {
List<IconEvent> events = new ArrayList<IconEvent>();
@Override
public void iconEvent(IconEvent e) {
events.add(e);
}
}
class OurIconic implements Iconic {
@Override
public void addIconListener(IconListener listener) {
}
@Override
public void removeIconListener(IconListener listener) {
}
@Override
public ImageIcon iconForId(String id) {
throw new RuntimeException();
}
}
public void testSameIdNotFired() {
IconHelper test = new IconHelper(new OurIconic(), IconHelper.READY);
OurListener listener = new OurListener();
test.addIconListener(listener);
assertEquals("ready", listener.events.get(0).getIconId());
assertEquals(1, listener.events.size());
test.changeIcon("executing");
assertEquals("executing", listener.events.get(1).getIconId());
assertEquals(2, listener.events.size());
test.changeIcon("executing");
assertEquals("executing", listener.events.get(1).getIconId());
assertEquals(2, listener.events.size());
}
}