From 0e73aa1820c04cf9c4a7bf754c813a4c6fb35243 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 20 Jul 2022 07:00:11 -0500 Subject: [PATCH] More test refactoring --- .../objects/ConcreteSingletonTestOne.java | 9 ++++++++- .../objects/ConcreteSingletonTestTwo.java | 11 +++++++++-- src/test/java/tests/DependencyInjectorTest.java | 11 ++++++++--- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java index bcf3e0930..226247869 100644 --- a/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java +++ b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java @@ -1,5 +1,6 @@ package testItems.singletonInjection.objects; +import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; @@ -13,14 +14,20 @@ import tests.DependencyInjectorTest; */ public class ConcreteSingletonTestOne implements ISingletonTestOne, IBindable { + private final DependencyInjector dependencyInjector; private ISingletonTestTwo testInterTwo; public static int VALUE = 1; + public ConcreteSingletonTestOne(DependencyInjector newDependencyInjector) + { + dependencyInjector = newDependencyInjector; + } + @Override - public void finishDelayedSetup() { testInterTwo = DependencyInjectorTest.TEST_SINGLETON_HANDLER.get(ISingletonTestTwo.class, true); } + public void finishDelayedSetup() { testInterTwo = dependencyInjector.get(ISingletonTestTwo.class, true); } @Override public boolean getDelayedSetupComplete() { return testInterTwo != null; } diff --git a/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java index 578b0de2a..be4d606b9 100644 --- a/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java +++ b/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java @@ -1,5 +1,6 @@ package testItems.singletonInjection.objects; +import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; @@ -13,18 +14,24 @@ import tests.DependencyInjectorTest; */ public class ConcreteSingletonTestTwo implements ISingletonTestTwo, IBindable { + private final DependencyInjector dependencyInjector; private ISingletonTestOne testInterOne; public static int VALUE = 2; + public ConcreteSingletonTestTwo(DependencyInjector newDependencyInjector) + { + dependencyInjector = newDependencyInjector; + } + + @Override - public void finishDelayedSetup() { testInterOne = DependencyInjectorTest.TEST_SINGLETON_HANDLER.get(ISingletonTestOne.class, true); } + public void finishDelayedSetup() { testInterOne = dependencyInjector.get(ISingletonTestOne.class, true); } @Override public boolean getDelayedSetupComplete() { return testInterOne != null; } - @Override public int getValue() { return VALUE; } diff --git a/src/test/java/tests/DependencyInjectorTest.java b/src/test/java/tests/DependencyInjectorTest.java index c7d8b9b20..26aaca62c 100644 --- a/src/test/java/tests/DependencyInjectorTest.java +++ b/src/test/java/tests/DependencyInjectorTest.java @@ -1,5 +1,7 @@ package tests; +import com.seibel.lod.core.api.external.items.enums.override.EDhApiOverridePriority; +import com.seibel.lod.core.enums.override.EApiOverridePriority; import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector; import com.seibel.lod.core.handlers.dependencyInjection.IBindable; @@ -9,6 +11,9 @@ import org.junit.Assert; import org.junit.Test; import testItems.eventInjection.objects.DhTestEvent; import testItems.eventInjection.objects.DhTestEventAlt; +import testItems.overrideInjection.objects.OverrideTestCore; +import testItems.overrideInjection.objects.OverrideTestPrimary; +import testItems.overrideInjection.objects.OverrideTestSecondary; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; import testItems.singletonInjection.objects.ConcreteSingletonTestBoth; @@ -23,7 +28,7 @@ import java.util.ArrayList; /** * @author James Seibel - * @version 2022-7-19 + * @version 2022-7-20 */ public class DependencyInjectorTest { @@ -40,8 +45,8 @@ public class DependencyInjectorTest // dependency setup - TEST_SINGLETON_HANDLER.bind(ISingletonTestOne.class, new ConcreteSingletonTestOne()); - TEST_SINGLETON_HANDLER.bind(ISingletonTestTwo.class, new ConcreteSingletonTestTwo()); + TEST_SINGLETON_HANDLER.bind(ISingletonTestOne.class, new ConcreteSingletonTestOne(TEST_SINGLETON_HANDLER)); + TEST_SINGLETON_HANDLER.bind(ISingletonTestTwo.class, new ConcreteSingletonTestTwo(TEST_SINGLETON_HANDLER)); TEST_SINGLETON_HANDLER.runDelayedSetup();