Fixed tests environments.
Added basic islandworldmapper to test for block value consistency. UniBiomeGenerator tests now produce new random object with same seed.
This commit is contained in:
parent
c6fd9a833c
commit
c63298bcaa
@ -0,0 +1,63 @@
|
|||||||
|
package ca.recrown.islandsurvivalcraft.world;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.TestInstance;
|
||||||
|
import org.junit.jupiter.api.TestInstance.Lifecycle;
|
||||||
|
|
||||||
|
import ca.recrown.islandsurvivalcraft.caching.Cache;
|
||||||
|
import ca.recrown.islandsurvivalcraft.datatypes.Point2;
|
||||||
|
|
||||||
|
@TestInstance(Lifecycle.PER_CLASS)
|
||||||
|
public class IslandWorldMapperTest {
|
||||||
|
public final Cache<Point2, Double> blockValCache = new Cache<>(2048);
|
||||||
|
public final int SEED = 102385923;
|
||||||
|
public Random random = new Random(SEED);
|
||||||
|
public IslandWorldMapper mapper = new IslandWorldMapper(random, blockValCache);
|
||||||
|
public final double[][] answers = new double[2048][2048];
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public void setUp() {
|
||||||
|
for (int x = 0; x < answers.length; x++) {
|
||||||
|
for (int y = 0; y < answers[x].length; y++) {
|
||||||
|
answers[x][y] = mapper.getWorldBlockValue(x, y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
blockValCache.clearCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterEach
|
||||||
|
public void individualCleanup() {
|
||||||
|
blockValCache.clearCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void individualSetUp() {
|
||||||
|
random = new Random(SEED);
|
||||||
|
mapper = new IslandWorldMapper(random, blockValCache);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testBlockValueConsistency() {
|
||||||
|
for (int x = 0; x < answers.length; x++) {
|
||||||
|
for (int y = 0; y < answers[x].length; y++) {
|
||||||
|
assertEquals(answers[x][y], mapper.getWorldBlockValue(x, y), String.format("Occurred at (%d, %d)", x, y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testBlockValueConsistencyRandom() {
|
||||||
|
for (int amount = 0; amount < 1024; amount++) {
|
||||||
|
int x = random.nextInt(answers.length);
|
||||||
|
int y = random.nextInt(answers[x].length);
|
||||||
|
assertEquals(answers[x][y], mapper.getWorldBlockValue(x, y), String.format("Occurred at (%d, %d)", x, y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -25,10 +25,9 @@ import ca.recrown.islandsurvivalcraft.world.IslandWorldMapper;
|
|||||||
public class UniBiomeIslandGeneratorTest {
|
public class UniBiomeIslandGeneratorTest {
|
||||||
private final int SEED = 249398015;
|
private final int SEED = 249398015;
|
||||||
private final DummyWorld dummyWorld = new DummyWorld();
|
private final DummyWorld dummyWorld = new DummyWorld();
|
||||||
private final Cache<Point2, Double> blockValueCache = new Cache<>(102400);
|
private final Cache<Point2, Double> blockValueCache = new Cache<>(4096);
|
||||||
private final Cache<Point2, Biome[]> biomeCache = new Cache<>(102400);
|
private final Cache<Point2, Biome[]> biomeCache = new Cache<>(4096);
|
||||||
private final Cache<Point2, Boolean> chunkExistenceCache = new Cache<>(16384);
|
private final Cache<Point2, Boolean> chunkExistenceCache = new Cache<>(16384);
|
||||||
private final Random rand = new Random(SEED);
|
|
||||||
|
|
||||||
private class BiomeGenTask implements Runnable {
|
private class BiomeGenTask implements Runnable {
|
||||||
private final int amount;
|
private final int amount;
|
||||||
@ -48,6 +47,7 @@ public class UniBiomeIslandGeneratorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void generateBiome(int chunkX, int chunkZ) {
|
public void generateBiome(int chunkX, int chunkZ) {
|
||||||
|
Random rand = new Random(SEED);
|
||||||
IslandWorldMapper mapper = new IslandWorldMapper(rand, blockValueCache);
|
IslandWorldMapper mapper = new IslandWorldMapper(rand, blockValueCache);
|
||||||
TemperatureMapGenerator temperatureMapGenerator = new TemperatureMapGenerator(SEED);
|
TemperatureMapGenerator temperatureMapGenerator = new TemperatureMapGenerator(SEED);
|
||||||
BiomeSelector biomeSelector = new BiomeSelector();
|
BiomeSelector biomeSelector = new BiomeSelector();
|
||||||
|
Loading…
Reference in New Issue
Block a user