mirror of
https://github.com/BentoBoxWorld/Warps.git
synced 2024-11-28 21:55:14 +01:00
Added test cases.
This commit is contained in:
parent
38c5496118
commit
f8243e3035
@ -1,9 +1,12 @@
|
|||||||
package world.bentobox.warps;
|
package world.bentobox.warps;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
import static org.mockito.Mockito.any;
|
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -23,6 +26,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.ArgumentCaptor;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.mockito.invocation.InvocationOnMock;
|
import org.mockito.invocation.InvocationOnMock;
|
||||||
@ -57,6 +61,8 @@ public class WarpPanelManagerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private Inventory top;
|
private Inventory top;
|
||||||
private UUID uuid;
|
private UUID uuid;
|
||||||
|
@Mock
|
||||||
|
private Settings settings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws java.lang.Exception
|
* @throws java.lang.Exception
|
||||||
@ -104,7 +110,6 @@ public class WarpPanelManagerTest {
|
|||||||
|
|
||||||
when(Bukkit.createInventory(any(), Mockito.anyInt(), any())).thenReturn(top);
|
when(Bukkit.createInventory(any(), Mockito.anyInt(), any())).thenReturn(top);
|
||||||
|
|
||||||
Settings settings = mock(Settings.class);
|
|
||||||
when(settings.getIcon()).thenReturn("SIGN");
|
when(settings.getIcon()).thenReturn("SIGN");
|
||||||
when(addon.getSettings()).thenReturn(settings);
|
when(addon.getSettings()).thenReturn(settings);
|
||||||
|
|
||||||
@ -133,11 +138,43 @@ public class WarpPanelManagerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testShowWarpPanelFirst() {
|
public void testShowWarpPanelFirst() {
|
||||||
|
ArgumentCaptor<ItemStack> argument = ArgumentCaptor.forClass(ItemStack.class);
|
||||||
WarpPanelManager wpm = new WarpPanelManager(addon);
|
WarpPanelManager wpm = new WarpPanelManager(addon);
|
||||||
wpm.showWarpPanel(world, user, 0);
|
wpm.showWarpPanel(world, user, 0);
|
||||||
verify(player).openInventory(Mockito.eq(top));
|
verify(player).openInventory(Mockito.eq(top));
|
||||||
// Just next sign
|
// Just next sign
|
||||||
verify(top, Mockito.times(53)).setItem(Mockito.anyInt(), Mockito.any(ItemStack.class));
|
verify(top, Mockito.times(53)).setItem(Mockito.anyInt(),argument.capture());
|
||||||
|
assertEquals(Material.STONE, argument.getAllValues().get(52).getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link WarpPanelManager#showWarpPanel(org.bukkit.World, world.bentobox.bbox.api.user.User, int)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testShowWarpPanelFirstRandom() {
|
||||||
|
when(settings.isRandomAllowed()).thenReturn(true);
|
||||||
|
ArgumentCaptor<ItemStack> argument = ArgumentCaptor.forClass(ItemStack.class);
|
||||||
|
WarpPanelManager wpm = new WarpPanelManager(addon);
|
||||||
|
wpm.showWarpPanel(world, user, 0);
|
||||||
|
verify(player).openInventory(Mockito.eq(top));
|
||||||
|
// Check crystal
|
||||||
|
verify(top, Mockito.atLeastOnce()).setItem(anyInt(), argument.capture());
|
||||||
|
assertEquals(Material.END_CRYSTAL, argument.getAllValues().get(0).getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link WarpPanelManager#showWarpPanel(org.bukkit.World, world.bentobox.bbox.api.user.User, int)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testShowWarpPanelNoRandom() {
|
||||||
|
when(settings.isRandomAllowed()).thenReturn(false);
|
||||||
|
ArgumentCaptor<ItemStack> argument = ArgumentCaptor.forClass(ItemStack.class);
|
||||||
|
WarpPanelManager wpm = new WarpPanelManager(addon);
|
||||||
|
wpm.showWarpPanel(world, user, 0);
|
||||||
|
verify(player).openInventory(Mockito.eq(top));
|
||||||
|
// Check crystal
|
||||||
|
verify(top, Mockito.atLeastOnce()).setItem(anyInt(), argument.capture());
|
||||||
|
assertFalse(argument.getAllValues().get(0).getType().equals(Material.END_CRYSTAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -145,11 +182,14 @@ public class WarpPanelManagerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testShowWarpPanelMiddle() {
|
public void testShowWarpPanelMiddle() {
|
||||||
|
ArgumentCaptor<ItemStack> argument = ArgumentCaptor.forClass(ItemStack.class);
|
||||||
WarpPanelManager wpm = new WarpPanelManager(addon);
|
WarpPanelManager wpm = new WarpPanelManager(addon);
|
||||||
wpm.showWarpPanel(world, user, 1);
|
wpm.showWarpPanel(world, user, 1);
|
||||||
verify(player).openInventory(Mockito.eq(top));
|
verify(player).openInventory(Mockito.eq(top));
|
||||||
// includes previous and next signs
|
// includes previous and next signs
|
||||||
verify(top, Mockito.times(54)).setItem(Mockito.anyInt(), Mockito.any(ItemStack.class));
|
verify(top, Mockito.times(54)).setItem(Mockito.anyInt(), argument.capture());
|
||||||
|
assertEquals(Material.STONE, argument.getAllValues().get(52).getType());
|
||||||
|
assertEquals(Material.COBBLESTONE, argument.getAllValues().get(53).getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -157,11 +197,13 @@ public class WarpPanelManagerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testShowWarpPanelLast() {
|
public void testShowWarpPanelLast() {
|
||||||
|
ArgumentCaptor<ItemStack> argument = ArgumentCaptor.forClass(ItemStack.class);
|
||||||
WarpPanelManager wpm = new WarpPanelManager(addon);
|
WarpPanelManager wpm = new WarpPanelManager(addon);
|
||||||
wpm.showWarpPanel(world, user, 3);
|
wpm.showWarpPanel(world, user, 3);
|
||||||
verify(player).openInventory(Mockito.eq(top));
|
verify(player).openInventory(Mockito.eq(top));
|
||||||
// Final amount, just previous sign
|
// Final amount, just previous sign
|
||||||
verify(top, Mockito.times(46)).setItem(Mockito.anyInt(), Mockito.any(ItemStack.class));
|
verify(top, Mockito.times(46)).setItem(Mockito.anyInt(), argument.capture());
|
||||||
|
assertEquals(Material.COBBLESTONE, argument.getAllValues().get(45).getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user