Add some testing
By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
parent
ff07115b3c
commit
ef756d8eba
6 changed files with 219 additions and 1 deletions
68
paper-server/src/test/java/org/bukkit/MaterialTest.java
Normal file
68
paper-server/src/test/java/org/bukkit/MaterialTest.java
Normal file
|
@ -0,0 +1,68 @@
|
|||
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 java.util.Map;
|
||||
|
||||
import net.minecraft.server.Item;
|
||||
import net.minecraft.server.ItemFood;
|
||||
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
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();
|
||||
for (Material material : Material.values()) {
|
||||
materials.put(material.getId(), material);
|
||||
}
|
||||
materials.remove(0); // Purge air.
|
||||
|
||||
for (Item item : Item.byId) {
|
||||
if (item == null) continue;
|
||||
|
||||
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("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));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue