This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/test/jrummikub/util/EventTest.java

115 lines
1.9 KiB
Java
Raw Normal View History

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