From ec738aea2204e413a575d0799995a9217d142535 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Tue, 13 Sep 2022 21:56:03 -0500 Subject: [PATCH] Re-add api event tests --- .../abstractObjects/DhApiTestEvent.java | 6 +- .../testItems/events/objects/DhTestEvent.java | 2 +- .../events/objects/DhTestEventAlt.java | 2 +- .../test/java/tests/EventInjectorTest.java | 124 +++++++++--------- 4 files changed, 68 insertions(+), 66 deletions(-) diff --git a/api/src/test/java/testItems/events/abstractObjects/DhApiTestEvent.java b/api/src/test/java/testItems/events/abstractObjects/DhApiTestEvent.java index 8952cb2d6..49c9df103 100644 --- a/api/src/test/java/testItems/events/abstractObjects/DhApiTestEvent.java +++ b/api/src/test/java/testItems/events/abstractObjects/DhApiTestEvent.java @@ -6,7 +6,7 @@ import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent; * A dummy event implementation used for unit testing. * * @author James Seibel - * @version 2022-9-11 + * @version 2022-9-13 */ public abstract class DhApiTestEvent implements IDhApiEvent @@ -15,7 +15,7 @@ public abstract class DhApiTestEvent public abstract void onTestEvent(Boolean input); /** just used for testing */ - public abstract boolean getTestValue(); + public abstract Boolean getTestValue(); @@ -27,7 +27,7 @@ public abstract class DhApiTestEvent public final boolean fireEvent(Boolean input) { onTestEvent(input); - return false; + return input; } @Override diff --git a/api/src/test/java/testItems/events/objects/DhTestEvent.java b/api/src/test/java/testItems/events/objects/DhTestEvent.java index a9f756716..cfe1d7015 100644 --- a/api/src/test/java/testItems/events/objects/DhTestEvent.java +++ b/api/src/test/java/testItems/events/objects/DhTestEvent.java @@ -25,6 +25,6 @@ public class DhTestEvent extends DhApiTestEvent // test (non standard) methods // @Override - public boolean getTestValue() { return eventFiredValue; } + public Boolean getTestValue() { return eventFiredValue; } } diff --git a/api/src/test/java/testItems/events/objects/DhTestEventAlt.java b/api/src/test/java/testItems/events/objects/DhTestEventAlt.java index 6b090fe5c..c8db4ad4a 100644 --- a/api/src/test/java/testItems/events/objects/DhTestEventAlt.java +++ b/api/src/test/java/testItems/events/objects/DhTestEventAlt.java @@ -25,6 +25,6 @@ public class DhTestEventAlt extends DhApiTestEvent // test (non standard) methods // @Override - public boolean getTestValue() { return eventFiredValue; } + public Boolean getTestValue() { return eventFiredValue; } } diff --git a/api/src/test/java/tests/EventInjectorTest.java b/api/src/test/java/tests/EventInjectorTest.java index cbd8c85aa..6a2a6f126 100644 --- a/api/src/test/java/tests/EventInjectorTest.java +++ b/api/src/test/java/tests/EventInjectorTest.java @@ -1,6 +1,8 @@ package tests; +import com.seibel.lod.core.DependencyInjection.DhApiEventInjector; import org.junit.Assert; +import org.junit.Test; import testItems.events.abstractObjects.DhApiTestEvent; import testItems.events.objects.DhTestEvent; import testItems.events.objects.DhTestEventAlt; @@ -10,71 +12,71 @@ import java.util.ArrayList; /** * @author James Seibel - * @version 2022-9-11 + * @version 2022-9-13 */ public class EventInjectorTest { + + @Test + public void testEventDependencies() // this also tests list dependencies since there can be more than one event handler bound per event + { + // Injector setup + DhApiEventInjector TEST_EVENT_HANDLER = new DhApiEventInjector(); -// //@Test -// public void testEventDependencies() // this also tests list dependencies since there can be more than one event handler bound per event -// { -// // Injector setup -// DhApiEventInjector TEST_EVENT_HANDLER = new DhApiEventInjector(); -// -// -// // pre-dependency setup -// Assert.assertNull("Nothing should have been bound.", TEST_EVENT_HANDLER.get(DhApiTestEvent.class)); -// -// -// // dependency setup -// TEST_EVENT_HANDLER.bind(DhApiTestEvent.class, new DhTestEvent()); -// TEST_EVENT_HANDLER.bind(DhApiTestEvent.class, new DhTestEventAlt()); -// TEST_EVENT_HANDLER.runDelayedSetup(); -// -// -// // get first -// CoreDhApiTestEvent afterRenderEvent = TEST_EVENT_HANDLER.get(CoreDhApiTestEvent.class); -// Assert.assertNotNull("Event not bound.", afterRenderEvent); -// -// -// // get list -// ArrayList afterRenderEventList = TEST_EVENT_HANDLER.getAll(CoreDhApiTestEvent.class); -// Assert.assertEquals("Bound list doesn't contain the correct number of items.", 2, afterRenderEventList.size()); -// // object one -// Assert.assertNotNull("Event not bound.", afterRenderEventList.get(0)); -// Assert.assertEquals("First event object setup incorrectly.", null, afterRenderEventList.get(0).getTestValue()); -// // object two -// Assert.assertNotNull("Event not bound.", afterRenderEventList.get(1)); -// Assert.assertEquals("First event object setup incorrectly.", null, afterRenderEventList.get(1).getTestValue()); -// -// -// // event firing -// Assert.assertEquals("fireAllEvents canceled returned canceled incorrectly.", true, TEST_EVENT_HANDLER.fireAllEvents(CoreDhApiTestEvent.class, true)); -// // object one -// Assert.assertEquals("Event not fired for first object.", true, afterRenderEventList.get(0).getTestValue()); -// // object two -// Assert.assertEquals("Event not fired for second object.", true, afterRenderEventList.get(1).getTestValue()); -// -// -// // unbind -// CoreDhApiTestEvent unboundEvent = afterRenderEventList.get(0); -// Assert.assertTrue("Unbind should've removed item.", TEST_EVENT_HANDLER.unbind(CoreDhApiTestEvent.class, DhTestEvent.class)); -// Assert.assertFalse("Unbind should've already removed item.", TEST_EVENT_HANDLER.unbind(CoreDhApiTestEvent.class, DhTestEvent.class)); -// -// // check unbinding -// afterRenderEventList = TEST_EVENT_HANDLER.getAll(CoreDhApiTestEvent.class); -// Assert.assertEquals("Unbound list doesn't contain the correct number of items.", 1, afterRenderEventList.size()); -// Assert.assertNotNull("Unbinding removed all items.", afterRenderEventList.get(0)); -// -// -// // check unbound event firing -// Assert.assertEquals("fireAllEvents canceled returned canceled incorrectly.", false, TEST_EVENT_HANDLER.fireAllEvents(CoreDhApiTestEvent.class, false)); -// // remaining event -// Assert.assertEquals("Event not fired for remaining object.", false, ((DhTestEventAlt) afterRenderEventList.get(0)).eventFiredValue); -// // unbound event -// Assert.assertEquals("Event fired for unbound object.", true, unboundEvent.getTestValue()); -// -// } + + // pre-dependency setup + Assert.assertNull("Nothing should have been bound.", TEST_EVENT_HANDLER.get(DhApiTestEvent.class)); + + + // dependency setup + TEST_EVENT_HANDLER.bind(DhApiTestEvent.class, new DhTestEvent()); + TEST_EVENT_HANDLER.bind(DhApiTestEvent.class, new DhTestEventAlt()); + TEST_EVENT_HANDLER.runDelayedSetup(); + + + // get first + DhApiTestEvent afterRenderEvent = TEST_EVENT_HANDLER.get(DhApiTestEvent.class); + Assert.assertNotNull("Event not bound.", afterRenderEvent); + + + // get list + ArrayList afterRenderEventList = TEST_EVENT_HANDLER.getAll(DhApiTestEvent.class); + Assert.assertEquals("Bound list doesn't contain the correct number of items.", 2, afterRenderEventList.size()); + // object one + Assert.assertNotNull("Event not bound.", afterRenderEventList.get(0)); + Assert.assertEquals("First event object setup incorrectly.", null, afterRenderEventList.get(0).getTestValue()); + // object two + Assert.assertNotNull("Event not bound.", afterRenderEventList.get(1)); + Assert.assertEquals("First event object setup incorrectly.", null, afterRenderEventList.get(1).getTestValue()); + + + // event firing + Assert.assertEquals("fireAllEvents canceled returned canceled incorrectly.", true, TEST_EVENT_HANDLER.fireAllEvents(DhApiTestEvent.class, true)); + // object one + Assert.assertEquals("Event not fired for first object.", true, afterRenderEventList.get(0).getTestValue()); + // object two + Assert.assertEquals("Event not fired for second object.", true, afterRenderEventList.get(1).getTestValue()); + + + // unbind + DhApiTestEvent unboundEvent = afterRenderEventList.get(0); + Assert.assertTrue("Unbind should've removed item.", TEST_EVENT_HANDLER.unbind(DhApiTestEvent.class, DhTestEvent.class)); + Assert.assertFalse("Unbind should've already removed item.", TEST_EVENT_HANDLER.unbind(DhApiTestEvent.class, DhTestEvent.class)); + + // check unbinding + afterRenderEventList = TEST_EVENT_HANDLER.getAll(DhApiTestEvent.class); + Assert.assertEquals("Unbound list doesn't contain the correct number of items.", 1, afterRenderEventList.size()); + Assert.assertNotNull("Unbinding removed all items.", afterRenderEventList.get(0)); + + + // check unbound event firing + Assert.assertEquals("fireAllEvents canceled returned canceled incorrectly.", false, TEST_EVENT_HANDLER.fireAllEvents(DhApiTestEvent.class, false)); + // remaining event + Assert.assertEquals("Event not fired for remaining object.", false, ((DhTestEventAlt) afterRenderEventList.get(0)).eventFiredValue); + // unbound event + Assert.assertEquals("Event fired for unbound object.", true, unboundEvent.getTestValue()); + + } }