mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-12 03:24:14 +00:00
test:
- Added rebuild test, expected to fail until the fix Ref.: https://github.com/VolmitSoftware/Iris/issues/1251
This commit is contained in:
@@ -4,8 +4,11 @@ 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.volmlib.util.math.RNG;
|
||||
import art.arcane.volmlib.util.noise.CNG;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -15,6 +18,9 @@ import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class ContinentGeneratorTest {
|
||||
private static final String SHARED_STYLE_GENERATOR_BUG =
|
||||
"ContinentGenerator scales the shared style generator instead of a private one. "
|
||||
+ "Ref.: https://github.com/VolmitSoftware/Iris/issues/1251";
|
||||
private static final long WORLD_SEED = 7L;
|
||||
private static final double POWER_OF_TWO_CONTINENT_ZOOM = 4D;
|
||||
private static final double SQUARED_CONTINENT_ZOOM = POWER_OF_TWO_CONTINENT_ZOOM * POWER_OF_TWO_CONTINENT_ZOOM;
|
||||
@@ -27,6 +33,9 @@ public class ContinentGeneratorTest {
|
||||
private final IrisDimension baseZoomDimension = createDimensionWithContinentZoom(POWER_OF_TWO_CONTINENT_ZOOM);
|
||||
private final IrisDimension squaredZoomDimension = createDimensionWithContinentZoom(SQUARED_CONTINENT_ZOOM);
|
||||
|
||||
@Rule
|
||||
public final ExpectedToFailUntilFixedRule expectedFailures = new ExpectedToFailUntilFixedRule();
|
||||
|
||||
@Test
|
||||
public void doesTheContinentMapAtWorldStartMatchExistingWorlds() {
|
||||
assertArrayEquals(CONTINENT_MAP_OF_EXISTING_WORLDS, sampleContinentMapAtWorldStart(baseZoomDimension), 0D);
|
||||
@@ -38,6 +47,12 @@ public class ContinentGeneratorTest {
|
||||
sampleContinentMapAtWorldStart(squaredZoomDimension), 0D);
|
||||
}
|
||||
|
||||
@ExpectedToFailUntilFixed(SHARED_STYLE_GENERATOR_BUG)
|
||||
@Test
|
||||
public void doesRebuildingTheSameWorldZoomItsContinentMapOnlyOnce() {
|
||||
assertArrayEquals(CONTINENT_MAP_OF_EXISTING_WORLDS, sampleContinentMapAfterRebuild(baseZoomDimension), 0D);
|
||||
}
|
||||
|
||||
private double[] sampleContinentMapAtWorldStart(IrisDimension dimension) {
|
||||
return sampleContinentMap(dimension, SAMPLE_BLOCKS);
|
||||
}
|
||||
@@ -46,6 +61,11 @@ public class ContinentGeneratorTest {
|
||||
return sampleContinentMap(baseZoomDimension, BLOCKS_SHRUNK_BY_CONTINENT_ZOOM);
|
||||
}
|
||||
|
||||
private double[] sampleContinentMapAfterRebuild(IrisDimension dimension) {
|
||||
sampleContinentMapAtWorldStart(dimension);
|
||||
return sampleContinentMapAtWorldStart(dimension);
|
||||
}
|
||||
|
||||
private double[] sampleContinentMap(IrisDimension dimension, double[][] blocks) {
|
||||
return sampleAtBlocks(ContinentGenerator.create(dimension, new RNG(WORLD_SEED), packData), blocks);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user