mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-27 05:05:18 +01:00
Added IslandEventTest class and fixed bugs with IslandEvent
IslandReserveEvent was missing.
This commit is contained in:
parent
b99be85bad
commit
669986b422
@ -299,6 +299,16 @@ public class IslandEvent extends IslandBaseEvent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired when an island is reserved for a player
|
||||||
|
* @since 1.12.0
|
||||||
|
*/
|
||||||
|
public static class IslandReservedEvent extends IslandBaseEvent {
|
||||||
|
private IslandReservedEvent(Island island, UUID player, boolean admin, Location location) {
|
||||||
|
super(island, player, admin, location);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired when an a player enters an island.
|
* Fired when an a player enters an island.
|
||||||
* Cancellation has no effect.
|
* Cancellation has no effect.
|
||||||
@ -690,6 +700,10 @@ public class IslandEvent extends IslandBaseEvent {
|
|||||||
IslandPreclearEvent preclear = new IslandPreclearEvent(island, player, admin, location, oldIsland);
|
IslandPreclearEvent preclear = new IslandPreclearEvent(island, player, admin, location, oldIsland);
|
||||||
Bukkit.getPluginManager().callEvent(preclear);
|
Bukkit.getPluginManager().callEvent(preclear);
|
||||||
return preclear;
|
return preclear;
|
||||||
|
case RESERVED:
|
||||||
|
IslandReservedEvent res = new IslandReservedEvent(island, player, admin, location);
|
||||||
|
Bukkit.getPluginManager().callEvent(res);
|
||||||
|
return res;
|
||||||
default:
|
default:
|
||||||
IslandGeneralEvent general = new IslandGeneralEvent(island, player, admin, location);
|
IslandGeneralEvent general = new IslandGeneralEvent(island, player, admin, location);
|
||||||
Bukkit.getPluginManager().callEvent(general);
|
Bukkit.getPluginManager().callEvent(general);
|
||||||
|
@ -0,0 +1,194 @@
|
|||||||
|
package world.bentobox.bentobox.api.events.island;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.plugin.PluginManager;
|
||||||
|
import org.eclipse.jdt.annotation.NonNull;
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
import world.bentobox.bentobox.BentoBox;
|
||||||
|
import world.bentobox.bentobox.api.events.IslandBaseEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandBanEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandCreateEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandCreatedEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeleteChunksEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeleteEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeletedEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandEnterEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandExitEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandExpelEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandGeneralEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandLockEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandPreclearEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandProtectionRangeChangeEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandRegisteredEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandReservedEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandResetEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandResettedEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandUnbanEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandUnlockEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandUnregisteredEvent;
|
||||||
|
import world.bentobox.bentobox.api.events.island.IslandEvent.Reason;
|
||||||
|
import world.bentobox.bentobox.blueprints.dataobjects.BlueprintBundle;
|
||||||
|
import world.bentobox.bentobox.database.objects.Island;
|
||||||
|
import world.bentobox.bentobox.database.objects.IslandDeletion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@RunWith(PowerMockRunner.class)
|
||||||
|
@PrepareForTest({ BentoBox.class, Bukkit.class })
|
||||||
|
public class IslandEventTest {
|
||||||
|
|
||||||
|
private Island island;
|
||||||
|
private UUID uuid;
|
||||||
|
@Mock
|
||||||
|
private Location location;
|
||||||
|
@Mock
|
||||||
|
private @NonNull BlueprintBundle blueprintBundle;
|
||||||
|
@Mock
|
||||||
|
private IslandDeletion deletedIslandInfo;
|
||||||
|
@Mock
|
||||||
|
private PluginManager pim;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws java.lang.Exception
|
||||||
|
*/
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
uuid = UUID.randomUUID();
|
||||||
|
// Bukkit
|
||||||
|
PowerMockito.mockStatic(Bukkit.class);
|
||||||
|
when(Bukkit.getPluginManager()).thenReturn(pim);
|
||||||
|
// Island
|
||||||
|
island = new Island();
|
||||||
|
when(location.clone()).thenReturn(location);
|
||||||
|
island.setCenter(location);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws java.lang.Exception
|
||||||
|
*/
|
||||||
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link world.bentobox.bentobox.api.events.island.IslandEvent#IslandEvent(world.bentobox.bentobox.database.objects.Island, java.util.UUID, boolean, org.bukkit.Location, world.bentobox.bentobox.api.events.island.IslandEvent.Reason)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testIslandEvent() {
|
||||||
|
for (Reason reason: Reason.values()) {
|
||||||
|
IslandEvent e = new IslandEvent(island, uuid, false, location, reason);
|
||||||
|
assertEquals(reason, e.getReason());
|
||||||
|
assertEquals(island, e.getIsland());
|
||||||
|
assertEquals(uuid, e.getPlayerUUID());
|
||||||
|
assertEquals(location, e.getLocation());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link world.bentobox.bentobox.api.events.island.IslandEvent#builder()}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testBuilder() {
|
||||||
|
for (Reason reason: Reason.values()) {
|
||||||
|
IslandBaseEvent e = IslandEvent.builder()
|
||||||
|
.admin(true)
|
||||||
|
.blueprintBundle(blueprintBundle)
|
||||||
|
.deletedIslandInfo(deletedIslandInfo)
|
||||||
|
.involvedPlayer(uuid)
|
||||||
|
.island(island)
|
||||||
|
.location(location)
|
||||||
|
.oldIsland(island)
|
||||||
|
.protectionRange(120, 100)
|
||||||
|
.reason(reason)
|
||||||
|
.build();
|
||||||
|
switch (reason) {
|
||||||
|
case BAN:
|
||||||
|
assertTrue(e instanceof IslandBanEvent);
|
||||||
|
break;
|
||||||
|
case CREATE:
|
||||||
|
assertTrue(e instanceof IslandCreateEvent);
|
||||||
|
break;
|
||||||
|
case CREATED:
|
||||||
|
assertTrue(e instanceof IslandCreatedEvent);
|
||||||
|
break;
|
||||||
|
case DELETE:
|
||||||
|
assertTrue(e instanceof IslandDeleteEvent);
|
||||||
|
break;
|
||||||
|
case DELETED:
|
||||||
|
assertTrue(e instanceof IslandDeletedEvent);
|
||||||
|
break;
|
||||||
|
case DELETE_CHUNKS:
|
||||||
|
assertTrue(e instanceof IslandDeleteChunksEvent);
|
||||||
|
break;
|
||||||
|
case ENTER:
|
||||||
|
assertTrue(e instanceof IslandEnterEvent);
|
||||||
|
break;
|
||||||
|
case EXIT:
|
||||||
|
assertTrue(e instanceof IslandExitEvent);
|
||||||
|
break;
|
||||||
|
case EXPEL:
|
||||||
|
assertTrue(e instanceof IslandExpelEvent);
|
||||||
|
break;
|
||||||
|
case LOCK:
|
||||||
|
assertTrue(e instanceof IslandLockEvent);
|
||||||
|
break;
|
||||||
|
case PRECLEAR:
|
||||||
|
assertTrue(e instanceof IslandPreclearEvent);
|
||||||
|
break;
|
||||||
|
case RANGE_CHANGE:
|
||||||
|
assertTrue(e instanceof IslandProtectionRangeChangeEvent);
|
||||||
|
break;
|
||||||
|
case REGISTERED:
|
||||||
|
assertTrue(e instanceof IslandRegisteredEvent);
|
||||||
|
break;
|
||||||
|
case RESERVED:
|
||||||
|
assertTrue(e instanceof IslandReservedEvent);
|
||||||
|
break;
|
||||||
|
case RESET:
|
||||||
|
assertTrue(e instanceof IslandResetEvent);
|
||||||
|
break;
|
||||||
|
case RESETTED:
|
||||||
|
assertTrue(e instanceof IslandResettedEvent);
|
||||||
|
break;
|
||||||
|
case UNBAN:
|
||||||
|
assertTrue(e instanceof IslandUnbanEvent);
|
||||||
|
break;
|
||||||
|
case UNKNOWN:
|
||||||
|
assertTrue(e instanceof IslandGeneralEvent);
|
||||||
|
break;
|
||||||
|
case UNLOCK:
|
||||||
|
assertTrue(e instanceof IslandUnlockEvent);
|
||||||
|
break;
|
||||||
|
case UNREGISTERED:
|
||||||
|
assertTrue(e instanceof IslandUnregisteredEvent);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
verify(pim, Mockito.times(Reason.values().length * 2)).callEvent(any());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user