mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-23 01:17:44 +01:00
Add additional tests for CraftBlockData
This commit is contained in:
parent
ce1af0c348
commit
a677257885
@ -352,6 +352,7 @@ public class CraftBlockData implements BlockData {
|
||||
private static final Map<Class<? extends Block>, Function<IBlockData, CraftBlockData>> MAP = new HashMap<>();
|
||||
|
||||
static {
|
||||
//<editor-fold desc="CraftBlockData Registration" defaultstate="collapsed">
|
||||
register(net.minecraft.server.BlockAnvil.class, org.bukkit.craftbukkit.block.impl.CraftAnvil::new);
|
||||
register(net.minecraft.server.BlockBanner.class, org.bukkit.craftbukkit.block.impl.CraftBanner::new);
|
||||
register(net.minecraft.server.BlockBannerWall.class, org.bukkit.craftbukkit.block.impl.CraftBannerWall::new);
|
||||
@ -460,6 +461,7 @@ public class CraftBlockData implements BlockData {
|
||||
register(net.minecraft.server.BlockWitherSkull.class, org.bukkit.craftbukkit.block.impl.CraftWitherSkull::new);
|
||||
register(net.minecraft.server.BlockWitherSkullWall.class, org.bukkit.craftbukkit.block.impl.CraftWitherSkullWall::new);
|
||||
register(net.minecraft.server.BlockWoodButton.class, org.bukkit.craftbukkit.block.impl.CraftWoodButton::new);
|
||||
//</editor-fold>
|
||||
}
|
||||
|
||||
private static void register(Class<? extends Block> nms, Function<IBlockData, CraftBlockData> bukkit) {
|
||||
|
38
src/test/java/org/bukkit/BlockDataConversionTest.java
Normal file
38
src/test/java/org/bukkit/BlockDataConversionTest.java
Normal file
@ -0,0 +1,38 @@
|
||||
package org.bukkit;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.server.Block;
|
||||
import net.minecraft.server.IBlockData;
|
||||
import net.minecraft.server.IRegistry;
|
||||
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
|
||||
/**
|
||||
* This test class ensures that all Blocks (as registered in IRegistry.BLOCK)
|
||||
* can be converted into their CraftBlockData equivalent.
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
public class BlockDataConversionTest extends AbstractTestingBase {
|
||||
|
||||
@Parameterized.Parameters(name = "{index}: {0}")
|
||||
public static List<Object[]> args() {
|
||||
List<Object[]> list = new ArrayList<>();
|
||||
for (Block block : (Iterable<Block>) IRegistry.BLOCK) {
|
||||
list.add(new Object[]{block.getBlockData()});
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Parameterized.Parameter(0) public IBlockData data;
|
||||
|
||||
@Test
|
||||
public void testNotNull() {
|
||||
Assert.assertNotNull(data);
|
||||
Assert.assertNotNull(CraftBlockData.fromData(data));
|
||||
}
|
||||
}
|
@ -229,4 +229,11 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
assertThat(material.getBlastResistance(), is(CraftMagicNumbers.getBlock(material).getDurability()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlockDataCreation() {
|
||||
if (material.isBlock()) {
|
||||
assertNotNull(material.createBlockData());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user