summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/bukkit/PerMaterialTest.java
diff options
context:
space:
mode:
authorWesley Wolfe <weswolf@aol.com>2012-12-14 02:02:02 -0600
committerWesley Wolfe <weswolf@aol.com>2012-12-14 02:02:02 -0600
commit0f4c206f9b256c441a142b0be68a4a76421c2911 (patch)
tree980ba23c5ac389461a518af3c69b12a4c9008214 /src/test/java/org/bukkit/PerMaterialTest.java
parent53b064ec79c62f34ca98dd08b0ae4cc04e51a81f (diff)
downloadcraftbukkit-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.java88
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());
+ }
+ }
}