diff options
author | Wesley Wolfe <weswolf@aol.com> | 2012-12-14 02:02:02 -0600 |
---|---|---|
committer | Wesley Wolfe <weswolf@aol.com> | 2012-12-14 02:02:02 -0600 |
commit | 0f4c206f9b256c441a142b0be68a4a76421c2911 (patch) | |
tree | 980ba23c5ac389461a518af3c69b12a4c9008214 /src/test/java/org/bukkit/PerMaterialTest.java | |
parent | 53b064ec79c62f34ca98dd08b0ae4cc04e51a81f (diff) | |
download | craftbukkit-0f4c206f9b256c441a142b0be68a4a76421c2911.tar craftbukkit-0f4c206f9b256c441a142b0be68a4a76421c2911.tar.gz craftbukkit-0f4c206f9b256c441a142b0be68a4a76421c2911.tar.lz craftbukkit-0f4c206f9b256c441a142b0be68a4a76421c2911.tar.xz craftbukkit-0f4c206f9b256c441a142b0be68a4a76421c2911.zip |
Add isRecord and new material method tests.
Cleaned up all of the CraftBukkit tests, including moving some tests
from MaterialTest to PerMaterialTest.
Diffstat (limited to 'src/test/java/org/bukkit/PerMaterialTest.java')
-rw-r--r-- | src/test/java/org/bukkit/PerMaterialTest.java | 88 |
1 files changed, 82 insertions, 6 deletions
diff --git a/src/test/java/org/bukkit/PerMaterialTest.java b/src/test/java/org/bukkit/PerMaterialTest.java index f73a9b2d..766bce26 100644 --- a/src/test/java/org/bukkit/PerMaterialTest.java +++ b/src/test/java/org/bukkit/PerMaterialTest.java @@ -3,27 +3,37 @@ package org.bukkit; import static org.junit.Assert.*; import static org.hamcrest.Matchers.*; -import java.util.ArrayList; import java.util.List; -import net.minecraft.server.AchievementList; import net.minecraft.server.Block; +import net.minecraft.server.BlockFire; +import net.minecraft.server.Item; +import net.minecraft.server.ItemFood; +import net.minecraft.server.ItemRecord; +import org.bukkit.support.AbstractTestingBase; +import org.bukkit.support.Util; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; import org.junit.runners.Parameterized.Parameters; +import com.google.common.collect.Lists; + @RunWith(Parameterized.class) -public class PerMaterialTest { - static { - AchievementList.a(); +public class PerMaterialTest extends AbstractTestingBase { + private static int[] fireValues; + + @BeforeClass + public static void getFireValues() { + fireValues = Util.getInternalState(BlockFire.class, Block.FIRE, "a"); } @Parameters(name= "{index}: {0}") public static List<Object[]> data() { - List<Object[]> list = new ArrayList<Object[]>(); + List<Object[]> list = Lists.newArrayList(); for (Material material : Material.values()) { list.add(new Object[] {material}); } @@ -42,4 +52,70 @@ public class PerMaterialTest { assertFalse(material.isSolid()); } } + + @Test + public void isEdible() { + assertThat(material.isEdible(), is(Item.byId[material.getId()] instanceof ItemFood)); + } + + @Test + public void isRecord() { + assertThat(material.isRecord(), is(Item.byId[material.getId()] instanceof ItemRecord)); + } + + @Test + public void maxDurability() { + if (material == Material.AIR) { + assertThat((int) material.getMaxDurability(), is(0)); + } else { + assertThat((int) material.getMaxDurability(), is(Item.byId[material.getId()].getMaxDurability())); + } + } + + @Test + public void maxStackSize() { + if (material == Material.AIR) { + assertThat(material.getMaxStackSize(), is(64 /* Why can't I hold all of these AIR? */)); + } else { + assertThat(material.getMaxStackSize(), is(Item.byId[material.getId()].getMaxStackSize())); + } + } + + @Test + public void isTransparent() { + if (material == Material.AIR) { + assertTrue(material.isTransparent()); + } else if (material.isBlock()) { + assertThat(material.isTransparent(), is(not(Block.byId[material.getId()].material.blocksLight()))); + } else { + assertFalse(material.isTransparent()); + } + } + + @Test + public void isFlammable() { + if (material != Material.AIR && material.isBlock()) { + assertThat(material.isFlammable(), is(Block.byId[material.getId()].material.isBurnable())); + } else { + assertFalse(material.isFlammable()); + } + } + + @Test + public void isBurnable() { + if (material.isBlock()) { + assertThat(material.isBurnable(), is(fireValues[material.getId()] > 0)); + } else { + assertFalse(material.isBurnable()); + } + } + + @Test + public void isOccluding() { + if (material.isBlock()) { + assertThat(material.isOccluding(), is(Block.i(material.getId()))); + } else { + assertFalse(material.isOccluding()); + } + } } |