Files
purpur-tyrant/src/test/java/games/dmg/spigottyrant/RoleControlItemPolicyTest.java
T

42 lines
1.6 KiB
Java

package games.dmg.spigottyrant;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.Duration;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import org.junit.jupiter.api.Test;
final class RoleControlItemPolicyTest {
@Test
void runningRoleHoldersRequireOnlyTheirOwnControlItem() {
UUID tyrantId = UUID.fromString("11111111-1111-1111-1111-111111111111");
UUID vigilanteId = UUID.fromString("22222222-2222-2222-2222-222222222222");
GameState game = new GameState(
GameLifecycle.RUNNING, Optional.of(tyrantId), Optional.of(vigilanteId),
Optional.empty(), Optional.empty(), Optional.empty(), Duration.ZERO,
0, 0, Set.of()
);
assertEquals(Optional.of(RoleControl.TYRANT),
RoleControlItemPolicy.requiredRole(game, tyrantId));
assertEquals(Optional.of(RoleControl.VIGILANTE),
RoleControlItemPolicy.requiredRole(game, vigilanteId));
assertEquals(Optional.empty(), RoleControlItemPolicy.requiredRole(game, UUID.randomUUID()));
}
@Test
void pausedRoleHolderRetainsControlItem() {
UUID tyrantId = UUID.fromString("11111111-1111-1111-1111-111111111111");
GameState game = new GameState(
GameLifecycle.PAUSED, Optional.of(tyrantId), Optional.empty(),
Optional.empty(), Optional.empty(), Optional.of(java.time.Instant.EPOCH),
Duration.ZERO, 0, 0, Set.of()
);
assertEquals(Optional.of(RoleControl.TYRANT),
RoleControlItemPolicy.requiredRole(game, tyrantId));
}
}