Event driven architecture refactored.
1. Renamed Message to Event and Event to AbstractEvent 2. Generified Event and Handler 3. Updated EventDispatcher to make unsafe configuration impossible 4. Updated UML diagram accordingly
This commit is contained in:
@ -29,13 +29,13 @@ import org.junit.Test;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* {@link UserCreatedEventTest} tests and verifies {@link Event} behaviour.
|
||||
* {@link UserCreatedEventTest} tests and verifies {@link AbstractEvent} behaviour.
|
||||
*/
|
||||
public class UserCreatedEventTest {
|
||||
|
||||
/**
|
||||
* This unit test should correctly return the {@link Event} class type when calling the
|
||||
* {@link Event#getType() getType} method.
|
||||
* This unit test should correctly return the {@link AbstractEvent} class type when calling the
|
||||
* {@link AbstractEvent#getType() getType} method.
|
||||
*/
|
||||
@Test
|
||||
public void testGetEventType() {
|
||||
|
@ -22,7 +22,6 @@
|
||||
*/
|
||||
package com.iluwatar.eda.framework;
|
||||
|
||||
import com.iluwatar.eda.framework.EventDispatcher;
|
||||
import com.iluwatar.eda.event.UserCreatedEvent;
|
||||
import com.iluwatar.eda.event.UserUpdatedEvent;
|
||||
import com.iluwatar.eda.handler.UserCreatedEventHandler;
|
||||
@ -49,8 +48,8 @@ public class EventDispatcherTest {
|
||||
EventDispatcher dispatcher = spy(new EventDispatcher());
|
||||
UserCreatedEventHandler userCreatedEventHandler = spy(new UserCreatedEventHandler());
|
||||
UserUpdatedEventHandler userUpdatedEventHandler = spy(new UserUpdatedEventHandler());
|
||||
dispatcher.registerChannel(UserCreatedEvent.class, userCreatedEventHandler);
|
||||
dispatcher.registerChannel(UserUpdatedEvent.class, userUpdatedEventHandler);
|
||||
dispatcher.registerHandler(UserCreatedEvent.class, userCreatedEventHandler);
|
||||
dispatcher.registerHandler(UserUpdatedEvent.class, userUpdatedEventHandler);
|
||||
|
||||
User user = new User("iluwatar");
|
||||
|
||||
@ -58,15 +57,14 @@ public class EventDispatcherTest {
|
||||
UserUpdatedEvent userUpdatedEvent = new UserUpdatedEvent(user);
|
||||
|
||||
//fire a userCreatedEvent and verify that userCreatedEventHandler has been invoked.
|
||||
dispatcher.onEvent(userCreatedEvent);
|
||||
dispatcher.dispatch(userCreatedEvent);
|
||||
verify(userCreatedEventHandler).onEvent(userCreatedEvent);
|
||||
verify(dispatcher).onEvent(userCreatedEvent);
|
||||
verify(dispatcher).dispatch(userCreatedEvent);
|
||||
|
||||
//fire a userCreatedEvent and verify that userUpdatedEventHandler has been invoked.
|
||||
dispatcher.onEvent(userUpdatedEvent);
|
||||
dispatcher.dispatch(userUpdatedEvent);
|
||||
verify(userUpdatedEventHandler).onEvent(userUpdatedEvent);
|
||||
verify(dispatcher).onEvent(userUpdatedEvent);
|
||||
verify(dispatcher).dispatch(userUpdatedEvent);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user