44 lines
968 B
Java
44 lines
968 B
Java
package dev.kske.eventbus.core;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertSame;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
/**
|
|
* Tests whether event handlers correctly work in the context of an inheritance hierarchy. The
|
|
* effect of handler priorities is also accounted for.
|
|
*
|
|
* @author Kai S. K. Engelbart
|
|
* @since 1.3.0
|
|
*/
|
|
class InheritanceTest extends SimpleEventListenerBase implements SimpleEventListenerInterface {
|
|
|
|
EventBus bus = new EventBus();
|
|
|
|
@Test
|
|
void test() {
|
|
bus.registerListener(this);
|
|
var event = new SimpleEvent();
|
|
|
|
bus.dispatch(event);
|
|
assertSame(3, event.getCounter());
|
|
}
|
|
|
|
@Override
|
|
void onSimpleEventAbstractHandler(SimpleEvent event) {
|
|
assertSame(1, event.getCounter());
|
|
}
|
|
|
|
@Override
|
|
public void onSimpleEventInterfaceHandler(SimpleEvent event) {
|
|
event.increment();
|
|
}
|
|
|
|
@Event
|
|
@Priority(250)
|
|
private void onSimpleEventPrivate(SimpleEvent event) {
|
|
assertSame(0, event.getCounter());
|
|
event.increment();
|
|
}
|
|
}
|