Adds missing tests for ItemHelper
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good

This commit is contained in:
2023-01-17 05:28:46 +01:00
parent 347b69b2a8
commit a79f2e273a
3 changed files with 83 additions and 8 deletions

View File

@ -8,6 +8,8 @@ import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@ -49,4 +51,66 @@ public class ItemHelperTest {
assertEquals(0, ItemHelper.getMaxDurability(new ItemStack(Material.POTATO, 1)));
}
@Test
public void updateAndGetDamageTest() {
for (Material material : Material.values()) {
//A lot of items seem to have weird metadata which isn't mocked properly. Therefore, this test is limited.
if (!material.name().endsWith("_PICKAXE")) {
continue;
}
ItemStack itemStack = new ItemStack(material, 1);
assertEquals(0, ItemHelper.getDamage(itemStack));
ItemHelper.updateDamage(itemStack, 3);
assertEquals(3, ItemHelper.getDamage(itemStack));
}
}
@Test
public void getDurabilityTest() {
for (Material material : Material.values()) {
ItemStack itemStack = new ItemStack(material, 1);
assertEquals(ItemHelper.getMaxDurability(itemStack), ItemHelper.getDurability(itemStack));
}
for (Material material : Material.values()) {
//A lot of items seem to have weird metadata which isn't mocked properly. Therefore, this test is limited.
if (!material.name().endsWith("_PICKAXE")) {
continue;
}
ItemStack itemStack = new ItemStack(material, 1);
ItemHelper.updateDamage(itemStack, 100);
assertEquals(ItemHelper.getMaxDurability(itemStack) - 100, ItemHelper.getDurability(itemStack));
}
}
@Test
public void getAllReforgeAbleMaterialsTest() {
List<Material> materials = ItemHelper.getAllReforgeAbleMaterials();
assertTrue(materials.size() > 0);
for (Material material : materials) {
assertTrue(ItemHelper.getMaxDurability(new ItemStack(material, 1)) > 0);
}
}
@Test
public void isAnvilRequiresDamagedTest() {
assertTrue(ItemHelper.isAnvil(Material.DAMAGED_ANVIL, true));
assertTrue(ItemHelper.isAnvil(Material.CHIPPED_ANVIL, true));
assertFalse(ItemHelper.isAnvil(Material.ANVIL, true));
assertFalse(ItemHelper.isAnvil(Material.POTATO, true));
assertFalse(ItemHelper.isAnvil(Material.IRON_HOE, true));
}
@Test
public void isAnvilTest() {
assertTrue(ItemHelper.isAnvil(Material.ANVIL, false));
assertTrue(ItemHelper.isAnvil(Material.DAMAGED_ANVIL, false));
assertTrue(ItemHelper.isAnvil(Material.CHIPPED_ANVIL, false));
assertFalse(ItemHelper.isAnvil(Material.POTATO, false));
assertFalse(ItemHelper.isAnvil(Material.IRON_HOE, false));
}
}