SPIGOT-2892: Fix some clone implementations and add unit test

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2017-12-16 10:18:34 +11:00
parent 1cf4dbb721
commit dfa7c9eedb
4 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package org.bukkit.craftbukkit.inventory;
import java.lang.reflect.Method;
import org.bukkit.Material;
import org.junit.Test;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
public class ItemMetaCloneTest {
@Test
public void testClone() throws Throwable {
for (Material material : ItemStackTest.COMPOUND_MATERIALS) {
Class<?> clazz = CraftItemFactory.instance().getItemMeta(material).getClass();
Method clone = clazz.getDeclaredMethod("clone");
assertNotNull("Class " + clazz + " does not override clone()", clone);
assertThat("Class " + clazz + " clone return type does not match", clone.getReturnType(), is(equalTo(clazz)));
}
}
}