From b0b5007341abe03f7be9a70c2ff36b188bfd8ce2 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Thu, 8 Sep 2022 21:04:54 -0500 Subject: [PATCH] Fix API Event Injector tests --- .../abstractObjects/DhApiTestEvent.java | 9 +- .../eventInjection/objects/DhTestEvent.java | 35 ++--- .../objects/DhTestEventAlt.java | 35 ++--- .../java/tests/DependencyInjectorTest.java | 129 +++++++++--------- 4 files changed, 104 insertions(+), 104 deletions(-) diff --git a/core/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java b/core/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java index 2f09c7546..bb4f223f4 100644 --- a/core/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java +++ b/core/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java @@ -6,14 +6,13 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.IC * A dummy event implementation used for unit testing. * * @author James Seibel - * @version 2022-7-16 + * @version 2022-9-8 */ public abstract class DhApiTestEvent implements ICoreDhApiEvent { /** * Test event. * - * @param input * @return whether the event should be canceled or not. */ public abstract boolean test(Boolean input); @@ -30,11 +29,9 @@ public abstract class DhApiTestEvent implements ICoreDhApiEvent //=========================// @Override - public final boolean fireEvent(Boolean input) - { - return test(input); - } + public final boolean fireEvent(Boolean input) { return test(input); } @Override public final boolean getCancelable() { return true; } + } \ No newline at end of file diff --git a/core/src/test/java/testItems/eventInjection/objects/DhTestEvent.java b/core/src/test/java/testItems/eventInjection/objects/DhTestEvent.java index 82b6ead2e..704def5ca 100644 --- a/core/src/test/java/testItems/eventInjection/objects/DhTestEvent.java +++ b/core/src/test/java/testItems/eventInjection/objects/DhTestEvent.java @@ -6,20 +6,23 @@ import testItems.eventInjection.abstractObjects.DhApiTestEvent; * Dummy test event for unit tests. * * @author James Seibel - * @version 2022-7-16 + * @version 2022-9-8 */ -//public class DhTestEvent extends DhApiTestEvent -//{ -// public Boolean eventFiredValue = null; -// -// @Override -// public boolean test(Boolean cancelEvent) -// { -// this.eventFiredValue = cancelEvent; -// return cancelEvent; -// } -// -// @Override -// public Boolean getTestValue() { return this.eventFiredValue; } -// -//} +public class DhTestEvent extends DhApiTestEvent +{ + public Boolean eventFiredValue = null; + + @Override + public boolean test(Boolean cancelEvent) + { + this.eventFiredValue = cancelEvent; + return cancelEvent; + } + + @Override + public Boolean getTestValue() { return this.eventFiredValue; } + + @Override + public boolean removeAfterFiring() { return false; } + +} diff --git a/core/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java b/core/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java index 51c3efefc..5935afeb7 100644 --- a/core/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java +++ b/core/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java @@ -6,20 +6,23 @@ import testItems.eventInjection.abstractObjects.DhApiTestEvent; * Dummy test event for unit tests. * * @author James Seibel - * @version 2022-7-16 + * @version 2022-9-8 */ -//public class DhTestEventAlt extends DhApiTestEvent -//{ -// public Boolean eventFiredValue = null; -// -// @Override -// public boolean test(Boolean cancelEvent) -// { -// this.eventFiredValue = cancelEvent; -// return cancelEvent; -// } -// -// @Override -// public Boolean getTestValue() { return this.eventFiredValue; } -// -//} +public class DhTestEventAlt extends DhApiTestEvent +{ + public Boolean eventFiredValue = null; + + @Override + public boolean test(Boolean cancelEvent) + { + this.eventFiredValue = cancelEvent; + return cancelEvent; + } + + @Override + public Boolean getTestValue() { return this.eventFiredValue; } + + @Override + public boolean removeAfterFiring() { return false; } + +} diff --git a/core/src/test/java/tests/DependencyInjectorTest.java b/core/src/test/java/tests/DependencyInjectorTest.java index 3ca0fc8d9..2dd488dc8 100644 --- a/core/src/test/java/tests/DependencyInjectorTest.java +++ b/core/src/test/java/tests/DependencyInjectorTest.java @@ -4,17 +4,14 @@ import com.seibel.lod.core.handlers.dependencyInjection.*; import org.junit.Assert; import org.junit.Test; -import testItems.overrideInjection.objects.OverrideTestCore; -import testItems.overrideInjection.objects.OverrideTestPrimary; +import testItems.eventInjection.abstractObjects.DhApiTestEvent; +import testItems.eventInjection.objects.DhTestEvent; +import testItems.eventInjection.objects.DhTestEventAlt; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; import testItems.singletonInjection.objects.ConcreteSingletonTestBoth; import testItems.singletonInjection.objects.ConcreteSingletonTestOne; import testItems.singletonInjection.objects.ConcreteSingletonTestTwo; -import testItems.eventInjection.abstractObjects.DhApiTestEvent; -import testItems.overrideInjection.interfaces.IOverrideTest; -import testItems.overrideInjection.objects.OverrideTestAssembly; -import testItems.worldGeneratorInjection.objects.*; import java.util.ArrayList; @@ -91,66 +88,66 @@ public class DependencyInjectorTest } -// @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 -// 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()); -// -// } + @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 + 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()); + + } // @Test // public void testOverrideInjection()