From 5b5c1975c63d094785d890dea84ad02d321f0001 Mon Sep 17 00:00:00 2001 From: CeeVeeR Date: Fri, 2 Oct 2026 12:06:49 +0200 Subject: [PATCH] chore: - Extracted generator sampling and running engine pack data to testsupport Ref.: https://github.com/VolmitSoftware/Iris/issues/1251 --- .../terrain/ContinentGeneratorTest.java | 26 +++---------------- .../IrisDimensionCarvingEntryTest.java | 26 +++---------------- .../iris/testsupport/GeneratorSampling.java | 18 +++++++++++++ .../testsupport/RunningEnginePackData.java | 18 +++++++++++++ 4 files changed, 43 insertions(+), 45 deletions(-) create mode 100644 core/src/test/java/art/arcane/iris/testsupport/GeneratorSampling.java create mode 100644 core/src/test/java/art/arcane/iris/testsupport/RunningEnginePackData.java diff --git a/core/src/test/java/art/arcane/iris/generation/terrain/ContinentGeneratorTest.java b/core/src/test/java/art/arcane/iris/generation/terrain/ContinentGeneratorTest.java index 5b98f12c4..9ae188ef5 100644 --- a/core/src/test/java/art/arcane/iris/generation/terrain/ContinentGeneratorTest.java +++ b/core/src/test/java/art/arcane/iris/generation/terrain/ContinentGeneratorTest.java @@ -2,17 +2,15 @@ package art.arcane.iris.generation.terrain; import art.arcane.iris.generation.noise.IrisGeneratorStyle; import art.arcane.iris.generation.noise.NoiseStyle; -import art.arcane.iris.generation.runtime.Engine; import art.arcane.iris.pack.loading.IrisData; +import art.arcane.iris.testsupport.RunningEnginePackData; import art.arcane.volmlib.util.math.RNG; -import art.arcane.volmlib.util.noise.CNG; import org.junit.Test; import java.util.Arrays; +import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks; import static org.junit.Assert.assertArrayEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; public class ContinentGeneratorTest { private static final long WORLD_SEED = 7L; @@ -24,7 +22,7 @@ public class ContinentGeneratorTest { private static final double[] CONTINENT_MAP_OF_EXISTING_WORLDS = {0.21889892332042843D, 0.6984934456740721D, 0.2708759584352327D}; - private final IrisData packData = createPackDataThatBelongsToOneRunningEngine(); + private final IrisData packData = RunningEnginePackData.create(); private final IrisDimension baseZoomDimension = createDimensionWithContinentZoom(POWER_OF_TWO_CONTINENT_ZOOM); private final IrisDimension squaredZoomDimension = createDimensionWithContinentZoom(SQUARED_CONTINENT_ZOOM); private final IrisDimension overworldStyleDimension = createDimensionWithOverworldContinentalStyle(); @@ -99,14 +97,6 @@ public class ContinentGeneratorTest { return sampleAtBlocks(ContinentGenerator.create(dimension, new RNG(WORLD_SEED), packData), blocks); } - private static double[] sampleAtBlocks(CNG continentGenerator, double[][] blocks) { - return Arrays.stream(blocks).mapToDouble(block -> sampleAt(continentGenerator, block)).toArray(); - } - - private static double sampleAt(CNG continentGenerator, double[] block) { - return continentGenerator.noise(block[0], block[1]); - } - private static double[][] shrinkByContinentZoom(double[][] blocks) { return Arrays.stream(blocks).map(block -> shrinkByContinentZoom(block)).toArray(double[][]::new); } @@ -134,14 +124,4 @@ public class ContinentGeneratorTest { private static IrisGeneratorStyle createSmokeFracture() { return new IrisGeneratorStyle(NoiseStyle.FRACTAL_SMOKE).setFracture(new IrisGeneratorStyle(NoiseStyle.STATIC)); } - - private static IrisData createPackDataThatBelongsToOneRunningEngine() { - IrisData newPackData = mock(IrisData.class); - bindToNewRunningEngine(newPackData); - return newPackData; - } - - private static void bindToNewRunningEngine(IrisData packData) { - when(packData.getEngine()).thenReturn(mock(Engine.class)); - } } diff --git a/core/src/test/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntryTest.java b/core/src/test/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntryTest.java index 11f4afebb..fc51f6ab9 100644 --- a/core/src/test/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntryTest.java +++ b/core/src/test/java/art/arcane/iris/generation/terrain/IrisDimensionCarvingEntryTest.java @@ -2,20 +2,16 @@ package art.arcane.iris.generation.terrain; import art.arcane.iris.generation.noise.IrisGeneratorStyle; import art.arcane.iris.generation.noise.NoiseStyle; -import art.arcane.iris.generation.runtime.Engine; import art.arcane.iris.pack.loading.IrisData; import art.arcane.iris.testsupport.ExpectedToFailUntilFixed; import art.arcane.iris.testsupport.ExpectedToFailUntilFixedRule; +import art.arcane.iris.testsupport.RunningEnginePackData; import art.arcane.volmlib.util.math.RNG; -import art.arcane.volmlib.util.noise.CNG; import org.junit.Rule; import org.junit.Test; -import java.util.Arrays; - +import static art.arcane.iris.testsupport.GeneratorSampling.sampleAtBlocks; import static org.junit.Assert.assertArrayEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; public class IrisDimensionCarvingEntryTest { private static final String SHARED_CHILD_STYLE_GENERATOR_BUG = @@ -26,7 +22,7 @@ public class IrisDimensionCarvingEntryTest { private static final double CHILD_SHRINK_FACTOR = 4D; private static final double[][] SAMPLE_BLOCKS = {{1000D, -2000D}, {12.5D, -7.25D}, {-517D, 333D}}; - private final IrisData packData = createPackDataThatBelongsToOneRunningEngine(); + private final IrisData packData = RunningEnginePackData.create(); private final IrisDimensionCarvingEntry carvingEntry = createCarvingEntry(); @Rule @@ -48,17 +44,13 @@ public class IrisDimensionCarvingEntryTest { } private double[] sampleSharedChildStyleGenerator(IrisGeneratorStyle childStyle) { - return sampleAtBlocks(childStyle.create(deriveSharedChildStyleSeed(), packData)); + return sampleAtBlocks(childStyle.create(deriveSharedChildStyleSeed(), packData), SAMPLE_BLOCKS); } private RNG deriveSharedChildStyleSeed() { return IrisDimensionCarvingEntry.deriveChildStyleSeed(carvingEntry.deriveChildrenGeneratorSeed(WORLD_SEED)); } - private static double[] sampleAtBlocks(CNG generator) { - return Arrays.stream(SAMPLE_BLOCKS).mapToDouble(block -> generator.noise(block[0], block[1])).toArray(); - } - private static IrisDimensionCarvingEntry createCarvingEntry() { return withShrinkingSimplexChildStyle(new IrisDimensionCarvingEntry().setId(CARVING_ENTRY_ID)); } @@ -70,14 +62,4 @@ public class IrisDimensionCarvingEntryTest { private static IrisGeneratorStyle createSimplexStyle() { return new IrisGeneratorStyle(NoiseStyle.SIMPLEX); } - - private static IrisData createPackDataThatBelongsToOneRunningEngine() { - IrisData newPackData = mock(IrisData.class); - bindToNewRunningEngine(newPackData); - return newPackData; - } - - private static void bindToNewRunningEngine(IrisData packData) { - when(packData.getEngine()).thenReturn(mock(Engine.class)); - } } diff --git a/core/src/test/java/art/arcane/iris/testsupport/GeneratorSampling.java b/core/src/test/java/art/arcane/iris/testsupport/GeneratorSampling.java new file mode 100644 index 000000000..d83bf5585 --- /dev/null +++ b/core/src/test/java/art/arcane/iris/testsupport/GeneratorSampling.java @@ -0,0 +1,18 @@ +package art.arcane.iris.testsupport; + +import art.arcane.volmlib.util.noise.CNG; + +import java.util.Arrays; + +public final class GeneratorSampling { + private GeneratorSampling() { + } + + public static double[] sampleAtBlocks(CNG generator, double[][] blocks) { + return Arrays.stream(blocks).mapToDouble(block -> sampleAt(generator, block)).toArray(); + } + + private static double sampleAt(CNG generator, double[] block) { + return generator.noise(block[0], block[1]); + } +} diff --git a/core/src/test/java/art/arcane/iris/testsupport/RunningEnginePackData.java b/core/src/test/java/art/arcane/iris/testsupport/RunningEnginePackData.java new file mode 100644 index 000000000..e6bbefd8e --- /dev/null +++ b/core/src/test/java/art/arcane/iris/testsupport/RunningEnginePackData.java @@ -0,0 +1,18 @@ +package art.arcane.iris.testsupport; + +import art.arcane.iris.generation.runtime.Engine; +import art.arcane.iris.pack.loading.IrisData; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public final class RunningEnginePackData { + private RunningEnginePackData() { + } + + public static IrisData create() { + IrisData packData = mock(IrisData.class); + when(packData.getEngine()).thenReturn(mock(Engine.class)); + return packData; + } +}