Adds some tests for the salvage helper
	
		
			
	
		
	
	
		
	
		
			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,76 @@
 | 
			
		||||
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.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;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A test class to test salvaging
 | 
			
		||||
 */
 | 
			
		||||
public class SalvageHelperTest {
 | 
			
		||||
 | 
			
		||||
    private static Server server;
 | 
			
		||||
 | 
			
		||||
    @BeforeAll
 | 
			
		||||
    public static void setUp() {
 | 
			
		||||
        server = MockBukkit.mock(new CustomServerMock());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void getNullForInvalidItemTest() {
 | 
			
		||||
        //Assert that a non-reforge-able item will return null
 | 
			
		||||
        assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.POTATO, 1), null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void getNullForLessThanOneItemTest() {
 | 
			
		||||
        //Assert that 0 or 1 items will return null
 | 
			
		||||
        assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_AXE, 0), null));
 | 
			
		||||
        assertNull(SalvageHelper.getSalvage(server, new ItemStack(Material.IRON_SWORD, -1), null));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @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
 | 
			
		||||
        assertEquals(expectedSalvage, new HashSet<>(SalvageHelper.getSalvage(server, itemToSalvage, null)));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @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, null);
 | 
			
		||||
        //Assert that some items are given
 | 
			
		||||
        assertNotEquals(salvage, new ArrayList<>());
 | 
			
		||||
        //Assert that a damaged item won't give full salvage
 | 
			
		||||
        assertNotEquals(expectedSalvage, salvage);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user