Package org.asmatron.messengine.event

Source Code of org.asmatron.messengine.event.CustomEvent

package org.asmatron.messengine.event;

import static org.junit.Assert.assertTrue;

import java.util.concurrent.atomic.AtomicBoolean;

import org.asmatron.messengine.engines.DefaultEventDelegate;
import org.asmatron.messengine.event.EventExecutionMode;
import org.asmatron.messengine.event.EventObject;
import org.asmatron.messengine.event.EventId;
import org.asmatron.messengine.event.Listener;
import org.junit.Test;


public class TestEvents {
  public static final EventId<CustomEvent> aType = new EventId<CustomEvent>("a");

  @Test
  public void shouldTestEventEngine() throws Exception {
    final AtomicBoolean invoked = new AtomicBoolean(false);

    DefaultEventDelegate engine = new DefaultEventDelegate();

    engine.addListener(aType, new Listener<CustomEvent>() {
      @Override
      public void handleEvent(CustomEvent eventArgs) {
        invoked.set(true);
      }

      @Override
      public EventExecutionMode getMode() {
        return EventExecutionMode.NORMAL;
      }

      @Override
      public boolean isEager() {
        return false;
      }
    });

    engine.fireEvent(aType, new CustomEvent());
    assertTrue(invoked.get());
  }
}

class CustomEvent extends EventObject {
}
TOP

Related Classes of org.asmatron.messengine.event.CustomEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.