Updates Spigot, and fixes depreciated code
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
This commit is contained in:
@ -1,39 +0,0 @@
|
||||
package net.knarcraft.blacksmith;
|
||||
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.Recipe;
|
||||
import org.bukkit.inventory.ShapedRecipe;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A custom server mock specifically for making the SalvageHelperTest work
|
||||
*/
|
||||
public class CustomServerMock extends ServerMock {
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<Recipe> getRecipesFor(@NotNull ItemStack itemStack) {
|
||||
List<Recipe> validRecipes = new ArrayList<>();
|
||||
if (itemStack.getType() == Material.DIAMOND_PICKAXE) {
|
||||
ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.minecraft("diamond_pickaxe"), itemStack);
|
||||
recipe.shape("ddd", "asa", "asa");
|
||||
recipe.setIngredient('d', Material.DIAMOND);
|
||||
recipe.setIngredient('s', Material.STICK);
|
||||
validRecipes.add(recipe);
|
||||
} else if (itemStack.getType() == Material.TNT) {
|
||||
ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.minecraft("tnt"), itemStack);
|
||||
recipe.shape("gsg", "sgs", "gsg");
|
||||
recipe.setIngredient('g', Material.GUNPOWDER);
|
||||
recipe.setIngredient('s', Material.SAND);
|
||||
validRecipes.add(recipe);
|
||||
}
|
||||
return validRecipes;
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +1,10 @@
|
||||
package net.knarcraft.blacksmith.util;
|
||||
|
||||
import be.seeseemelk.mockbukkit.enchantments.EnchantmentMock;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
@ -18,16 +13,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
*/
|
||||
public class InputParsingHelperTest {
|
||||
|
||||
private static Enchantment curseOfBinding;
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() {
|
||||
//Note: When not testing against a real server, no default enchantments are loaded!
|
||||
curseOfBinding = new EnchantmentMock(NamespacedKey.minecraft("binding_curse"),
|
||||
"CURSE_OF_BINDING");
|
||||
Enchantment.registerEnchantment(curseOfBinding);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isEmptyTrueTest() {
|
||||
assertTrue(InputParsingHelper.isEmpty(null));
|
||||
@ -71,28 +56,6 @@ public class InputParsingHelperTest {
|
||||
assertNull(InputParsingHelper.matchMaterial("minecraft: golden-BOOTS"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void matchEnchantmentValidTest() {
|
||||
for (Enchantment enchantment : Enchantment.values()) {
|
||||
assertEquals(enchantment, InputParsingHelper.matchEnchantment(enchantment.getKey().getKey()));
|
||||
}
|
||||
assertEquals(curseOfBinding, InputParsingHelper.matchEnchantment("binding_curse"));
|
||||
assertEquals(curseOfBinding, InputParsingHelper.matchEnchantment("binding-curse"));
|
||||
assertEquals(curseOfBinding, InputParsingHelper.matchEnchantment("binding curse"));
|
||||
assertEquals(curseOfBinding, InputParsingHelper.matchEnchantment("BINDING curse"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void matchEnchantmentInvalidTest() {
|
||||
for (Enchantment enchantment : Enchantment.values()) {
|
||||
assertEquals(enchantment, InputParsingHelper.matchEnchantment(enchantment.getKey().getKey()));
|
||||
}
|
||||
assertNotEquals(curseOfBinding, InputParsingHelper.matchEnchantment("bonding_curse"));
|
||||
assertNotEquals(curseOfBinding, InputParsingHelper.matchEnchantment("binding curse"));
|
||||
assertNotEquals(curseOfBinding, InputParsingHelper.matchEnchantment(" BINDING curse"));
|
||||
assertNotEquals(curseOfBinding, InputParsingHelper.matchEnchantment("binding:curse"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void regExIfyTest() {
|
||||
assertEquals("NO REGEX HERE", InputParsingHelper.regExIfy("no regEx here"));
|
||||
|
@ -1,16 +1,8 @@
|
||||
package net.knarcraft.blacksmith.util;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import net.knarcraft.blacksmith.CustomServerMock;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
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;
|
||||
|
||||
@ -19,80 +11,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
*/
|
||||
public class ItemHelperTest {
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() {
|
||||
MockBukkit.mock(new CustomServerMock());
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
public static void tearDown() {
|
||||
MockBukkit.unmock();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isRepairableTest() {
|
||||
for (Material material : Material.values()) {
|
||||
String name = material.name();
|
||||
if (name.endsWith("_SWORD") || name.endsWith("_PICKAXE") || name.endsWith("_AXE") ||
|
||||
name.endsWith("_HOE") || name.endsWith("_SHOVEL") || name.endsWith("_CHESTPLATE") ||
|
||||
name.endsWith("_HELMET") || name.equals("ELYTRA") || name.endsWith("BOW") ||
|
||||
name.endsWith("_LEGGINGS") || name.endsWith("_BOOTS") || name.equals("TRIDENT") ||
|
||||
name.equals("FISHING_ROD") || name.equals("FLINT_AND_STEEL") || name.equals("SHEARS")) {
|
||||
assertTrue(ItemHelper.isRepairable(new ItemStack(material, 1)));
|
||||
}
|
||||
}
|
||||
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.POTATO, 1)));
|
||||
assertFalse(ItemHelper.isRepairable(new ItemStack(Material.DIRT, 1)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMaxDurabilityTest() {
|
||||
assertEquals(1561, ItemHelper.getMaxDurability(new ItemStack(Material.DIAMOND_PICKAXE, 1)));
|
||||
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();
|
||||
assertFalse(materials.isEmpty());
|
||||
|
||||
for (Material material : materials) {
|
||||
assertTrue(ItemHelper.getMaxDurability(new ItemStack(material, 1)) > 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAnvilRequiresDamagedTest() {
|
||||
assertTrue(ItemHelper.isAnvil(Material.DAMAGED_ANVIL, true));
|
||||
|
@ -1,123 +0,0 @@
|
||||
package net.knarcraft.blacksmith.util;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import net.knarcraft.blacksmith.CustomServerMock;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
/**
|
||||
* A test class to test salvaging
|
||||
*/
|
||||
public class SalvageHelperTest {
|
||||
|
||||
private static Server server;
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() {
|
||||
server = MockBukkit.mock(new CustomServerMock());
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
public static void tearDown() {
|
||||
MockBukkit.unmock();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNullForInvalidItemTest() {
|
||||
//Assert that a non-reforge-able item will return null
|
||||
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.POTATO, 1), new ArrayList<>(), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNullForLessThanOneItemTest() {
|
||||
//Assert that 0 or 1 items will return null
|
||||
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_AXE, 0), new ArrayList<>(), false));
|
||||
assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_SWORD, -1), new ArrayList<>(), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getFullSalvageTest() {
|
||||
Set<ItemStack> expectedSalvage = new HashSet<>();
|
||||
expectedSalvage.add(new ItemStack(Material.DIAMOND, 3));
|
||||
expectedSalvage.add(new ItemStack(Material.STICK, 2));
|
||||
ItemStack itemToSalvage = new ItemStack(Material.DIAMOND_PICKAXE, 1);
|
||||
//Note: Conversion to sets makes sure the order doesn't matter
|
||||
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, new ArrayList<>(), false);
|
||||
if (salvage == null) {
|
||||
fail();
|
||||
} else {
|
||||
assertEquals(expectedSalvage, new HashSet<>(salvage));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getExtendedSalvageTest() {
|
||||
Set<ItemStack> expectedSalvage = new HashSet<>();
|
||||
expectedSalvage.add(new ItemStack(Material.GUNPOWDER, 5));
|
||||
expectedSalvage.add(new ItemStack(Material.SAND, 4));
|
||||
ItemStack itemToSalvage = new ItemStack(Material.TNT, 1);
|
||||
//Note: Conversion to sets makes sure the order doesn't matter
|
||||
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, new ArrayList<>(), true);
|
||||
if (salvage == null) {
|
||||
fail();
|
||||
} else {
|
||||
assertEquals(expectedSalvage, new HashSet<>(salvage));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getNonFullSalvageTest() {
|
||||
List<ItemStack> expectedSalvage = new ArrayList<>();
|
||||
expectedSalvage.add(new ItemStack(Material.DIAMOND, 3));
|
||||
expectedSalvage.add(new ItemStack(Material.STICK, 2));
|
||||
ItemStack itemToSalvage = new ItemStack(Material.DIAMOND_PICKAXE, 1);
|
||||
ItemMeta meta = itemToSalvage.getItemMeta();
|
||||
Damageable damageable = (Damageable) meta;
|
||||
if (damageable != null) {
|
||||
damageable.setDamage(100);
|
||||
}
|
||||
itemToSalvage.setItemMeta(meta);
|
||||
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, new ArrayList<>(), false);
|
||||
//Assert that some items are given
|
||||
assertNotEquals(salvage, new ArrayList<>());
|
||||
//Assert that a damaged item won't give full salvage
|
||||
assertNotEquals(expectedSalvage, salvage);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ignoredSalvageTest() {
|
||||
List<ItemStack> expectedSalvage = new ArrayList<>();
|
||||
expectedSalvage.add(new ItemStack(Material.DIAMOND, 2));
|
||||
ItemStack itemToSalvage = new ItemStack(Material.DIAMOND_PICKAXE, 1);
|
||||
List<Material> ignoredSalvage = new ArrayList<>();
|
||||
ignoredSalvage.add(Material.STICK);
|
||||
ItemMeta meta = itemToSalvage.getItemMeta();
|
||||
Damageable damageable = (Damageable) meta;
|
||||
if (damageable != null) {
|
||||
damageable.setDamage(100);
|
||||
}
|
||||
itemToSalvage.setItemMeta(meta);
|
||||
List<ItemStack> salvage = SalvageHelper.getSalvage(server, itemToSalvage, ignoredSalvage, false);
|
||||
//Assert that some items are given
|
||||
assertNotEquals(salvage, new ArrayList<>());
|
||||
//Assert that a damaged diamond pickaxe with sticks ignored returns 2 diamonds a salvage
|
||||
assertEquals(expectedSalvage, salvage);
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +1,7 @@
|
||||
package net.knarcraft.blacksmith.util;
|
||||
|
||||
import be.seeseemelk.mockbukkit.enchantments.EnchantmentMock;
|
||||
import net.knarcraft.blacksmith.config.SettingValueType;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -19,16 +15,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
*/
|
||||
public class TypeValidatorHelperTest {
|
||||
|
||||
private static Enchantment infinity;
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() {
|
||||
//Note: When not testing against a real server, no default enchantments are loaded!
|
||||
infinity = new EnchantmentMock(NamespacedKey.minecraft("arrow_infinite"),
|
||||
"INFINITY");
|
||||
Enchantment.registerEnchantment(infinity);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidPositiveDoubleValidTest() {
|
||||
SettingValueType type = SettingValueType.POSITIVE_DOUBLE;
|
||||
@ -152,18 +138,9 @@ public class TypeValidatorHelperTest {
|
||||
assertFalse(TypeValidationHelper.isValid(type, true, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidEnchantmentValidTest() {
|
||||
SettingValueType type = SettingValueType.ENCHANTMENT;
|
||||
assertTrue(TypeValidationHelper.isValid(type, infinity, null));
|
||||
assertTrue(TypeValidationHelper.isValid(type, "arrow_infinite", null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidEnchantmentInvalidTest() {
|
||||
SettingValueType type = SettingValueType.ENCHANTMENT;
|
||||
assertFalse(TypeValidationHelper.isValid(type, "potato", null));
|
||||
assertFalse(TypeValidationHelper.isValid(type, 7675, null));
|
||||
assertFalse(TypeValidationHelper.isValid(type, null, null));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user