Add isRecord and new material method tests.

Cleaned up all of the CraftBukkit tests, including moving some tests
from MaterialTest to PerMaterialTest.
This commit is contained in:
Wesley Wolfe
2012-12-14 02:02:02 -06:00
parent 53b064ec79
commit 0f4c206f9b
8 changed files with 122 additions and 90 deletions

View File

@@ -1,14 +1,12 @@
package org.bukkit;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.Matchers.hasSize;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import java.util.Collections;
import java.util.Map;
import net.minecraft.server.Item;
import net.minecraft.server.ItemFood;
import org.bukkit.support.AbstractTestingBase;
import org.junit.Test;
@@ -16,6 +14,7 @@ import org.junit.Test;
import com.google.common.collect.Maps;
public class MaterialTest extends AbstractTestingBase {
@Test
public void verifyMapping() {
Map<Integer, Material> materials = Maps.newHashMap();
@@ -29,40 +28,12 @@ public class MaterialTest extends AbstractTestingBase {
int id = item.id;
String name = item.getName();
int maxStackSize = item.getMaxStackSize();
int maxDurability = item.getMaxDurability();
Material material = materials.remove(id);
assertNotNull(String.format("org.bukkit.Material is missing id: %d named: %s", id, name), material);
assertThat(String.format("org.bukkit.Material.%s maxStackSize:", material), material.getMaxStackSize(), is(maxStackSize));
assertThat(String.format("org.bukkit.Material.%s maxDurability:", material), material.getMaxDurability(), is((short) maxDurability));
assertThat("Missing " + name + "(" + id + ")", material, is(not(nullValue())));
}
assertThat("org.bukkit.Material has too many entries", materials.values(), hasSize(0));
}
@Test
public void verifyIsEdible() {
Map<Integer, Material> materials = Maps.newHashMap();
for (Material material : Material.values()) {
if (!material.isEdible()) continue;
materials.put(material.getId(), material);
}
for (Item item : Item.byId) {
if (item == null) continue;
if (!(item instanceof ItemFood)) continue;
int id = item.id;
String name = item.getName();
Material material = materials.remove(id);
assertNotNull(String.format("org.bukkit.Material does not list id: %d named: %s edible", id, name), material);
}
assertThat("org.bukkit.Material has entries marked edible that are not ItemFood", materials.values(), hasSize(0));
assertThat(materials, is(Collections.EMPTY_MAP));
}
}