diff --git a/src/main/java/com/seibel/lod/core/util/StringUtil.java b/src/main/java/com/seibel/lod/core/util/StringUtil.java index 9f8965ed1..976c7fe16 100644 --- a/src/main/java/com/seibel/lod/core/util/StringUtil.java +++ b/src/main/java/com/seibel/lod/core/util/StringUtil.java @@ -23,12 +23,12 @@ package com.seibel.lod.core.util; * Miscellaneous string helper functions. * * @author James Seibel - * @version 2022-7-18 + * @version 2022-7-19 */ public class StringUtil { /** - * Returns the n-th index of the given string + * Returns the n-th index of the given string.

* * Original source: https://stackoverflow.com/questions/3976616/how-to-find-nth-occurrence-of-character-in-a-string */ diff --git a/src/test/java/testItems/dependencyInjection/objects/DhApiTestEvent.java b/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java similarity index 94% rename from src/test/java/testItems/dependencyInjection/objects/DhApiTestEvent.java rename to src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java index fac658710..26967726f 100644 --- a/src/test/java/testItems/dependencyInjection/objects/DhApiTestEvent.java +++ b/src/test/java/testItems/eventInjection/abstractObjects/DhApiTestEvent.java @@ -1,4 +1,4 @@ -package testItems.dependencyInjection.objects; +package testItems.eventInjection.abstractObjects; import com.seibel.lod.core.api.implementation.interfaces.events.IDhApiEvent; diff --git a/src/test/java/testItems/dependencyInjection/implementations/DhTestEvent.java b/src/test/java/testItems/eventInjection/objects/DhTestEvent.java similarity index 76% rename from src/test/java/testItems/dependencyInjection/implementations/DhTestEvent.java rename to src/test/java/testItems/eventInjection/objects/DhTestEvent.java index 3eff18296..4454d883b 100644 --- a/src/test/java/testItems/dependencyInjection/implementations/DhTestEvent.java +++ b/src/test/java/testItems/eventInjection/objects/DhTestEvent.java @@ -1,6 +1,6 @@ -package testItems.dependencyInjection.implementations; +package testItems.eventInjection.objects; -import testItems.dependencyInjection.objects.DhApiTestEvent; +import testItems.eventInjection.abstractObjects.DhApiTestEvent; /** * Dummy test event for unit tests. diff --git a/src/test/java/testItems/dependencyInjection/implementations/DhTestEventAlt.java b/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java similarity index 77% rename from src/test/java/testItems/dependencyInjection/implementations/DhTestEventAlt.java rename to src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java index f6ef22f85..6cf7df81f 100644 --- a/src/test/java/testItems/dependencyInjection/implementations/DhTestEventAlt.java +++ b/src/test/java/testItems/eventInjection/objects/DhTestEventAlt.java @@ -1,6 +1,6 @@ -package testItems.dependencyInjection.implementations; +package testItems.eventInjection.objects; -import testItems.dependencyInjection.objects.DhApiTestEvent; +import testItems.eventInjection.abstractObjects.DhApiTestEvent; /** * Dummy test event for unit tests. diff --git a/src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestOne.java b/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java similarity index 85% rename from src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestOne.java rename to src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java index 72ec0f6fa..2866816a5 100644 --- a/src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestOne.java +++ b/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java @@ -1,4 +1,4 @@ -package testItems.dependencyInjection.interfaces; +package testItems.singletonInjection.interfaces; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; diff --git a/src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestTwo.java b/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java similarity index 85% rename from src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestTwo.java rename to src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java index 067b4b236..e74bb4799 100644 --- a/src/test/java/testItems/dependencyInjection/interfaces/ISingletonTestTwo.java +++ b/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java @@ -1,4 +1,4 @@ -package testItems.dependencyInjection.interfaces; +package testItems.singletonInjection.interfaces; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; diff --git a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestBoth.java b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java similarity index 73% rename from src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestBoth.java rename to src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java index 063b7844e..8f894d9e4 100644 --- a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestBoth.java +++ b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java @@ -1,8 +1,8 @@ -package testItems.dependencyInjection.objects; +package testItems.singletonInjection.objects; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import testItems.dependencyInjection.interfaces.ISingletonTestOne; -import testItems.dependencyInjection.interfaces.ISingletonTestTwo; +import testItems.singletonInjection.interfaces.ISingletonTestOne; +import testItems.singletonInjection.interfaces.ISingletonTestTwo; /** * Dummy test implementation object for dependency injection unit tests. diff --git a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestOne.java b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java similarity index 80% rename from src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestOne.java rename to src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java index eddae834e..bcf3e0930 100644 --- a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestOne.java +++ b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java @@ -1,8 +1,8 @@ -package testItems.dependencyInjection.objects; +package testItems.singletonInjection.objects; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import testItems.dependencyInjection.interfaces.ISingletonTestOne; -import testItems.dependencyInjection.interfaces.ISingletonTestTwo; +import testItems.singletonInjection.interfaces.ISingletonTestOne; +import testItems.singletonInjection.interfaces.ISingletonTestTwo; import tests.DependencyInjectorTest; /** diff --git a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestTwo.java b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java similarity index 80% rename from src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestTwo.java rename to src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java index 060e6d38b..578b0de2a 100644 --- a/src/test/java/testItems/dependencyInjection/objects/ConcreteSingletonTestTwo.java +++ b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java @@ -1,8 +1,8 @@ -package testItems.dependencyInjection.objects; +package testItems.singletonInjection.objects; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import testItems.dependencyInjection.interfaces.ISingletonTestOne; -import testItems.dependencyInjection.interfaces.ISingletonTestTwo; +import testItems.singletonInjection.interfaces.ISingletonTestOne; +import testItems.singletonInjection.interfaces.ISingletonTestTwo; import tests.DependencyInjectorTest; /** diff --git a/src/test/java/tests/DependencyInjectorTest.java b/src/test/java/tests/DependencyInjectorTest.java index 4ccd7c07a..c7d8b9b20 100644 --- a/src/test/java/tests/DependencyInjectorTest.java +++ b/src/test/java/tests/DependencyInjectorTest.java @@ -4,16 +4,19 @@ import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; import org.junit.Assert; import org.junit.Test; -import testItems.dependencyInjection.implementations.DhTestEvent; -import testItems.dependencyInjection.implementations.DhTestEventAlt; -import testItems.dependencyInjection.interfaces.ISingletonTestOne; -import testItems.dependencyInjection.interfaces.ISingletonTestTwo; -import testItems.dependencyInjection.objects.ConcreteSingletonTestBoth; -import testItems.dependencyInjection.objects.ConcreteSingletonTestOne; -import testItems.dependencyInjection.objects.ConcreteSingletonTestTwo; -import testItems.dependencyInjection.objects.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 java.util.ArrayList; @@ -28,11 +31,11 @@ public class DependencyInjectorTest @Test public void testSingleImplementationSingleton() { - // clear the previous dependencies and only allow single dependencies + // Injector setup DependencyInjector TEST_SINGLETON_HANDLER = new DependencyInjector<>(IBindable.class, false); - // pre-setup + // pre-dependency setup Assert.assertNull(ISingletonTestOne.class.getSimpleName() + " should not have been bound.", TEST_SINGLETON_HANDLER.get(ISingletonTestOne.class)); @@ -62,11 +65,11 @@ public class DependencyInjectorTest @Test public void testMultipleImplementationSingleton() { - // clear the previous dependencies and only allow single dependencies + // Injector setup DependencyInjector TEST_SINGLETON_HANDLER = new DependencyInjector(IBindable.class, false); - // pre-setup + // pre-dependency setup Assert.assertNull(ISingletonTestOne.class.getSimpleName() + " should not have been bound.", TEST_SINGLETON_HANDLER.get(ISingletonTestOne.class)); @@ -91,13 +94,12 @@ public class DependencyInjectorTest @Test public void testEventDependencies() // this also tests list dependencies since there can be more than one event handler bound per event { - // clear the previous dependencies and only allow single dependencies + // Injector setup DependencyInjector TEST_SINGLETON_HANDLER = new DependencyInjector<>(IBindable.class, false); - // setup the list (event) dependency handler DhApiEventInjector TEST_EVENT_HANDLER = new DhApiEventInjector(); - // pre-setup + // pre-dependency setup Assert.assertNull("Nothing should have been bound.", TEST_EVENT_HANDLER.get(DhApiTestEvent.class)); @@ -151,6 +153,11 @@ public class DependencyInjectorTest } + Assert.assertNotNull(ISingletonTestTwo.class.getSimpleName() + " not bound.", testInterTwo); + Assert.assertEquals(ISingletonTestTwo.class.getSimpleName() + " incorrect value.", testInterTwo.getValue(), ConcreteSingletonTestBoth.VALUE); + + } + }