Minestom/src/test/java/net/minestom/server/instance/InstanceBlockIntegrationTes...

51 lines
1.8 KiB
Java
Raw Normal View History

package net.minestom.server.instance;
import net.minestom.server.api.Env;
import net.minestom.server.api.EnvTest;
import net.minestom.server.instance.block.Block;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@EnvTest
public class InstanceBlockIntegrationTest {
@Test
public void basic(Env env) {
var instance = env.createFlatInstance();
assertThrows(NullPointerException.class, () -> instance.getBlock(0, 0, 0),
"No exception throw when getting a block in an unloaded chunk");
instance.loadChunk(0, 0).join();
assertEquals(Block.AIR, instance.getBlock(0, 50, 0));
instance.setBlock(0, 50, 0, Block.GRASS);
assertEquals(Block.GRASS, instance.getBlock(0, 50, 0));
instance.setBlock(0, 50, 0, Block.STONE);
assertEquals(Block.STONE, instance.getBlock(0, 50, 0));
assertThrows(NullPointerException.class, () -> instance.getBlock(16, 0, 0),
"No exception throw when getting a block in an unloaded chunk");
instance.loadChunk(1, 0).join();
assertEquals(Block.AIR, instance.getBlock(16, 50, 0));
}
@Test
public void unloadCache(Env env) {
var instance = env.createFlatInstance();
instance.loadChunk(0, 0).join();
instance.setBlock(0, 50, 0, Block.GRASS);
assertEquals(Block.GRASS, instance.getBlock(0, 50, 0));
instance.unloadChunk(0, 0);
assertThrows(NullPointerException.class, () -> instance.getBlock(0, 0, 0),
"No exception throw when getting a block in an unloaded chunk");
instance.loadChunk(0, 0).join();
assertEquals(Block.AIR, instance.getBlock(0, 50, 0));
}
}