Finish the WorldGenInjector tests
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package testItems.worldGeneratorInjection.objects;
|
||||
|
||||
import com.seibel.lod.core.api.external.items.enums.worldGeneration.EDhApiLevelType;
|
||||
import com.seibel.lod.core.api.external.items.interfaces.world.IDhApiDimensionTypeWrapper;
|
||||
import com.seibel.lod.core.api.external.items.interfaces.world.IDhApiLevelWrapper;
|
||||
|
||||
/**
|
||||
* Stub implementation of a Level wrapper for basic unit testing.
|
||||
*
|
||||
* @author James Seibel
|
||||
* @version 2022-7-27
|
||||
*/
|
||||
public class LevelWrapperTest implements IDhApiLevelWrapper
|
||||
{
|
||||
@Override
|
||||
public Object getWrappedMcObject_UNSAFE() { return null; }
|
||||
|
||||
@Override
|
||||
public IDhApiDimensionTypeWrapper getDimensionType() { return null; }
|
||||
|
||||
@Override
|
||||
public EDhApiLevelType getLevelType() { return EDhApiLevelType.UNKNOWN; }
|
||||
|
||||
@Override
|
||||
public boolean hasCeiling() { return false; }
|
||||
|
||||
@Override
|
||||
public boolean hasSkyLight() { return false; }
|
||||
|
||||
@Override
|
||||
public int getHeight() { return 0; }
|
||||
|
||||
@Override
|
||||
public int getSeaLevel() { return 0; }
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package tests;
|
||||
import com.seibel.lod.core.api.external.items.enums.override.EDhApiOverridePriority;
|
||||
import com.seibel.lod.core.api.external.items.interfaces.override.IDhApiOverrideable;
|
||||
import com.seibel.lod.core.api.external.items.interfaces.override.IDhApiWorldGenerator;
|
||||
import com.seibel.lod.core.api.external.items.interfaces.world.IDhApiLevelWrapper;
|
||||
import com.seibel.lod.core.enums.override.EOverridePriority;
|
||||
import com.seibel.lod.core.handlers.dependencyInjection.*;
|
||||
|
||||
@@ -21,10 +22,7 @@ import testItems.singletonInjection.objects.ConcreteSingletonTestTwo;
|
||||
import testItems.eventInjection.abstractObjects.DhApiTestEvent;
|
||||
import testItems.overrideInjection.interfaces.IOverrideTest;
|
||||
import testItems.overrideInjection.objects.OverrideTestAssembly;
|
||||
import testItems.worldGeneratorInjection.objects.WorldGeneratorTestAssembly;
|
||||
import testItems.worldGeneratorInjection.objects.WorldGeneratorTestCore;
|
||||
import testItems.worldGeneratorInjection.objects.WorldGeneratorTestPrimary;
|
||||
import testItems.worldGeneratorInjection.objects.WorldGeneratorTestSecondary;
|
||||
import testItems.worldGeneratorInjection.objects.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -238,7 +236,7 @@ public class DependencyInjectorTest
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWorldGeneratorInjection()
|
||||
public void testBackupWorldGeneratorInjection()
|
||||
{
|
||||
WorldGeneratorInjector TEST_INJECTOR = new WorldGeneratorInjector(WorldGeneratorTestAssembly.getPackagePath(2));
|
||||
WorldGeneratorInjector CORE_INJECTOR = new WorldGeneratorInjector();
|
||||
@@ -256,9 +254,6 @@ public class DependencyInjectorTest
|
||||
WorldGeneratorTestPrimary primaryGenerator = new WorldGeneratorTestPrimary();
|
||||
|
||||
|
||||
|
||||
// TODO need core package overriding
|
||||
|
||||
// core generator binding
|
||||
try { TEST_INJECTOR.bind(coreGenerator); } catch (IllegalArgumentException e) { Assert.fail("Core generator should be bindable for test package injector."); }
|
||||
|
||||
@@ -294,13 +289,63 @@ public class DependencyInjectorTest
|
||||
Assert.assertEquals("Override returned incorrect override type.", generator.getOverrideType(), EDhApiOverridePriority.PRIMARY);
|
||||
Assert.assertEquals("Incorrect override object returned.", generator.getThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
|
||||
|
||||
|
||||
|
||||
|
||||
// in-line get
|
||||
// (make sure the returned type is correct and compiles, the actual value doesn't matter)
|
||||
TEST_INJECTOR.get().getThreadingMode();
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSpecificLevelWorldGeneratorInjection()
|
||||
{
|
||||
WorldGeneratorInjector TEST_INJECTOR = new WorldGeneratorInjector(WorldGeneratorTestAssembly.getPackagePath(2));
|
||||
|
||||
|
||||
// pre-dependency setup
|
||||
Assert.assertNull("Nothing should have been bound.", TEST_INJECTOR.get());
|
||||
|
||||
|
||||
// variables to use later
|
||||
IDhApiWorldGenerator generator;
|
||||
WorldGeneratorTestCore backupGenerator = new WorldGeneratorTestCore();
|
||||
WorldGeneratorTestPrimary levelGenerator = new WorldGeneratorTestPrimary();
|
||||
|
||||
IDhApiLevelWrapper boundLevel = new LevelWrapperTest();
|
||||
IDhApiLevelWrapper unboundLevel = new LevelWrapperTest();
|
||||
|
||||
|
||||
|
||||
// backup generator binding
|
||||
try { TEST_INJECTOR.bind(backupGenerator); } catch (IllegalArgumentException e) { Assert.fail("Core generator should be bindable for test package injector."); }
|
||||
|
||||
|
||||
// get backup generator
|
||||
generator = TEST_INJECTOR.get();
|
||||
Assert.assertNotNull("Backup generator not bound.", generator);
|
||||
Assert.assertEquals("Incorrect backup generator bound.", generator.getOverrideType(), EDhApiOverridePriority.CORE);
|
||||
Assert.assertEquals("Incorrect backup generator bound.", generator.getThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
|
||||
|
||||
|
||||
// bind level specific
|
||||
try { TEST_INJECTOR.bind(boundLevel, levelGenerator); } catch (IllegalArgumentException e) { Assert.fail("Core generator should be bindable for test package injector."); }
|
||||
|
||||
|
||||
// get bound level generator
|
||||
generator = TEST_INJECTOR.get(boundLevel);
|
||||
Assert.assertNotNull("Level generator not bound.", generator);
|
||||
Assert.assertEquals("Incorrect level generator bound.", generator.getOverrideType(), EDhApiOverridePriority.PRIMARY);
|
||||
Assert.assertEquals("Incorrect level generator bound.", generator.getThreadingMode(), WorldGeneratorTestPrimary.THREAD_MODE);
|
||||
|
||||
// get unbound level generator
|
||||
generator = TEST_INJECTOR.get(unboundLevel);
|
||||
Assert.assertNotNull("Backup level generator not bound.", generator);
|
||||
Assert.assertEquals("Incorrect level generator bound.", generator.getOverrideType(), EDhApiOverridePriority.CORE);
|
||||
Assert.assertEquals("Incorrect level generator bound.", generator.getThreadingMode(), WorldGeneratorTestCore.THREAD_MODE);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user