package jrummikub.util; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class EventTest { boolean fired, fired2; @Test public void singleListener() { fired = false; Event testEvent = new Event(); testEvent.add(new IListener() { @Override public void fire() { fired = true; } }); assertFalse(fired); testEvent.fire(); assertTrue(fired); fired = false; testEvent.fire(); assertTrue(fired); } @Test public void twoListeners() { fired = false; fired2 = false; Event testEvent = new Event(); testEvent.add(new IListener() { @Override public void fire() { fired = true; } }); testEvent.add(new IListener() { @Override public void fire() { fired2 = true; } }); assertFalse(fired); assertFalse(fired2); testEvent.fire(); assertTrue(fired); assertTrue(fired2); } @Test public void removeListener() { fired = false; Event testEvent = new Event(); testEvent.add(new IListener() { @Override public void fire() { fired = true; } }); IListener rem = new IListener() { @Override public void fire() { fail(); } }; testEvent.add(rem); testEvent.remove(rem); testEvent.fire(); assertTrue(fired); } }