Adds tests for TypeValidationHelper
	
		
			
	
		
	
	
		
	
		
			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:
		@@ -0,0 +1,170 @@
 | 
			
		||||
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;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import static org.junit.jupiter.api.Assertions.assertFalse;
 | 
			
		||||
import static org.junit.jupiter.api.Assertions.assertTrue;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tests for the type validator helper
 | 
			
		||||
 */
 | 
			
		||||
public class TypeValidatorHelperTest {
 | 
			
		||||
 | 
			
		||||
    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 isValidPositiveDoubleValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.POSITIVE_DOUBLE;
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 6578d, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 5346.4534, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "237.4378", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 74567, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "843552", null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidPositiveDoubleInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.POSITIVE_DOUBLE;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "potato", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 354f, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, SettingValueType.STRING, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -1, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -0.45654, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidStringValidTest() {
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(SettingValueType.STRING, "potato", null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidStringInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.STRING;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 5467, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, SettingValueType.POSITIVE_DOUBLE, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "      ", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidPositiveIntegerValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.POSITIVE_INTEGER;
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 6574567, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "785768", null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidPositiveIntegerInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.POSITIVE_INTEGER;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 0.2345, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -1, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "potato", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidPercentageValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.PERCENTAGE;
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 33, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 100, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, 0, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidPercentageInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.PERCENTAGE;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -1, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -73, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 101, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 14.4, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "potato", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidBooleanValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.BOOLEAN;
 | 
			
		||||
        //Note: As anything invalid will just be parsed to false, anything goes
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "potato", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "True", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "False", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "On", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "Off", null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidStringListValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.STRING_LIST;
 | 
			
		||||
        List<String> testList = new ArrayList<>();
 | 
			
		||||
        testList.add("fish");
 | 
			
		||||
        testList.add("potato");
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "1, 2, 3, 4, 5, 6, 7, 8", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, new ArrayList<>(), null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, testList, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "potato", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, new String[]{"a", "b", "c"}, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidStringListInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.STRING_LIST;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 456, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -2345.4321, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidMaterialValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.MATERIAL;
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, Material.POTATO, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "POTATO", null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "minecraft:potato", null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidMaterialInvalidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.MATERIAL;
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, null, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, 1, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, "random", null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, -546.678, null));
 | 
			
		||||
        assertFalse(TypeValidationHelper.isValid(type, true, null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void isValidEnchantmentValidTest() {
 | 
			
		||||
        SettingValueType type = SettingValueType.ENCHANTMENT;
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, curseOfBinding, null));
 | 
			
		||||
        assertTrue(TypeValidationHelper.isValid(type, "binding_curse", 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