package net.knarcraft.blacksmith.util; import org.bukkit.Material; 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.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; /** * A test class for testing input parsing */ public class InputParsingHelperTest { @Test public void isEmptyTrueTest() { assertTrue(InputParsingHelper.isEmpty(null)); assertTrue(InputParsingHelper.isEmpty("-1")); assertTrue(InputParsingHelper.isEmpty("\"\"")); assertTrue(InputParsingHelper.isEmpty("null")); assertTrue(InputParsingHelper.isEmpty(" ")); } @Test public void isEmptyFalseTest() { assertFalse(InputParsingHelper.isEmpty("potato")); assertFalse(InputParsingHelper.isEmpty("67465775")); assertFalse(InputParsingHelper.isEmpty("657.4655467")); assertFalse(InputParsingHelper.isEmpty(" a ")); assertFalse(InputParsingHelper.isEmpty("\"fish\"")); assertFalse(InputParsingHelper.isEmpty("-657858")); assertFalse(InputParsingHelper.isEmpty("-6578.58")); } @Test public void matchMaterialValidTest() { assertEquals(Material.DIAMOND_PICKAXE, InputParsingHelper.matchMaterial("DIAMOND_PICKAXE")); assertEquals(Material.DIAMOND_AXE, InputParsingHelper.matchMaterial("DIAMOND_axe")); assertEquals(Material.IRON_SWORD, InputParsingHelper.matchMaterial("iron-SWORD")); assertEquals(Material.WOODEN_HOE, InputParsingHelper.matchMaterial("wOoDeN-HoE")); assertEquals(Material.ACACIA_CHEST_BOAT, InputParsingHelper.matchMaterial("ACACIA-chest_bOaT")); assertEquals(Material.NETHERITE_PICKAXE, InputParsingHelper.matchMaterial("netherite pickaxe")); assertEquals(Material.STONE_SHOVEL, InputParsingHelper.matchMaterial("minecraft:stone_shovel")); assertEquals(Material.GOLDEN_BOOTS, InputParsingHelper.matchMaterial("minecraft:golden BOOTS")); } @Test public void matchMaterialInvalidTest() { assertNull(InputParsingHelper.matchMaterial("this_item_does_not_exist")); assertNull(InputParsingHelper.matchMaterial("stone:pickaxe")); assertNull(InputParsingHelper.matchMaterial("aron sword")); assertNull(InputParsingHelper.matchMaterial("minecraft : golden BOOTS")); assertNull(InputParsingHelper.matchMaterial("minecraft: golden BOOTS")); assertNull(InputParsingHelper.matchMaterial("MINECRAFT:golden-BOOTS")); assertNull(InputParsingHelper.matchMaterial("minecraft: golden-BOOTS")); } @Test public void regExIfyTest() { assertEquals("NO REGEX HERE", InputParsingHelper.regExIfy("no regEx here")); assertEquals("NO_REGEX_HERE", InputParsingHelper.regExIfy("no-regEx-here")); assertEquals("NETHERITE.*", InputParsingHelper.regExIfy("netherite*")); assertEquals("GOLDEN_.*", InputParsingHelper.regExIfy("golden-*")); } }