3.9-beta.2
This commit is contained in:
@@ -1,4 +1,55 @@
|
||||
package sh.okx.rankup;
|
||||
|
||||
public class RankupPlaceholderTest {
|
||||
import be.seeseemelk.mockbukkit.entity.PlayerMock;
|
||||
import org.junit.Test;
|
||||
import sh.okx.rankup.placeholders.RankupExpansion;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class RankupPlaceholderTest extends RankupTest {
|
||||
@Test
|
||||
public void testCurrentRank() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "C");
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
|
||||
assertEquals("C", expansion.placeholder(player, "current_rank"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNextRank() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "C");
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("D", expansion.placeholder(player, "next_rank"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStatusCurrent() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "B");
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("Current", expansion.placeholder(player, "status_b"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStatusComplete() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "D");
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("Complete", expansion.placeholder(player, "status_b"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStatusIncomplete() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("Incomplete", expansion.placeholder(player, "status_b"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,101 @@
|
||||
package sh.okx.rankup;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import be.seeseemelk.mockbukkit.entity.PlayerMock;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import sh.okx.rankup.economy.TestEconomyProvider;
|
||||
import sh.okx.rankup.hook.GroupProvider;
|
||||
import sh.okx.rankup.hook.TestGroupProvider;
|
||||
import sh.okx.rankup.hook.TestPermissionManager;
|
||||
import sh.okx.rankup.messages.Message;
|
||||
import sh.okx.rankup.messages.Variable;
|
||||
import sh.okx.rankup.ranks.Rank;
|
||||
import sh.okx.rankup.ranks.RankElement;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class RankupTest {
|
||||
protected GroupProvider groupProvider;
|
||||
protected ServerMock server;
|
||||
protected RankupPlugin plugin;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
System.setProperty("TEST", "true");
|
||||
|
||||
try {
|
||||
groupProvider = new TestGroupProvider();
|
||||
|
||||
server = MockBukkit.mock();
|
||||
plugin = MockBukkit.load(RankupPlugin.class, new TestPermissionManager(groupProvider), new TestEconomyProvider());
|
||||
// let rankup finish setting up
|
||||
server.getScheduler().performTicks(1);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAutoRankup() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
|
||||
// requirement of $1000
|
||||
plugin.getEconomy().setPlayer(player, 1000);
|
||||
// give them group A
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
// give the permission to auto rankup
|
||||
player.addAttachment(plugin, "rankup.auto", true);
|
||||
|
||||
plugin.autoRankup.run();
|
||||
assertTrue(groupProvider.inGroup(player.getUniqueId(), "B"));
|
||||
assertEquals(0, plugin.getEconomy().getBalance(player), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotInLadder() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
|
||||
plugin.getHelper().rankup(player);
|
||||
|
||||
player.assertSaid(plugin.getMessage(Message.NOT_IN_LADDER).replace(Variable.PLAYER, player.getName()).toString());
|
||||
player.assertNoMoreSaid();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLastRank() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
|
||||
groupProvider.addGroup(player.getUniqueId(), "D");
|
||||
|
||||
plugin.getHelper().rankup(player);
|
||||
|
||||
player.assertSaid(plugin.getMessage(Message.NO_RANKUP).replaceRanks(player, plugin.getRankups().getTree().last().getRank().getRank()).toString());
|
||||
player.assertNoMoreSaid();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoneyRequirement() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
|
||||
plugin.getEconomy().setPlayer(player, 500);
|
||||
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
plugin.getHelper().rankup(player);
|
||||
|
||||
RankElement<Rank> element = plugin.getRankups().getTree().getFirst();
|
||||
Rank rank = element.getRank();
|
||||
|
||||
player.assertSaid(plugin.replaceMoneyRequirements(plugin.getMessage(rank, Message.REQUIREMENTS_NOT_MET).replaceRanks(player, rank, element.getNext().getRank()), player, rank).toString());
|
||||
player.assertNoMoreSaid();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
MockBukkit.unmock();
|
||||
System.clearProperty("TEST");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,25 @@
|
||||
package sh.okx.rankup.economy;
|
||||
|
||||
public class TestEconomy {
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class TestEconomy implements Economy {
|
||||
private final Map<UUID, Double> balances = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public double getBalance(Player player) {
|
||||
return balances.get(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void withdrawPlayer(Player player, double amount) {
|
||||
balances.put(player.getUniqueId(), balances.getOrDefault(player.getUniqueId(), 0D) - amount);
|
||||
}
|
||||
|
||||
public void setPlayer(Player player, double amount) {
|
||||
balances.put(player.getUniqueId(), amount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
package sh.okx.rankup.economy;
|
||||
|
||||
public class TestEconomyProvider {
|
||||
public class TestEconomyProvider implements EconomyProvider {
|
||||
@Override
|
||||
public Economy getEconomy() {
|
||||
return new TestEconomy();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,25 @@
|
||||
package sh.okx.rankup.hook;
|
||||
|
||||
public class TestGroupProvider {
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class TestGroupProvider implements GroupProvider {
|
||||
private Multimap<UUID, String> groups = ArrayListMultimap.create();
|
||||
|
||||
@Override
|
||||
public boolean inGroup(UUID uuid, String group) {
|
||||
return groups.containsEntry(uuid, group.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addGroup(UUID uuid, String group) {
|
||||
groups.put(uuid, group.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroup(UUID uuid, String group) {
|
||||
groups.remove(uuid, group.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
package sh.okx.rankup.hook;
|
||||
|
||||
public class TestPermissionManager {
|
||||
public class TestPermissionManager implements PermissionManager {
|
||||
private final GroupProvider groupProvider;
|
||||
|
||||
public TestPermissionManager(GroupProvider groupProvider) {
|
||||
this.groupProvider = groupProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupProvider findPermissionProvider() {
|
||||
return groupProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupProvider permissionOnlyProvider() {
|
||||
return groupProvider;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.junit.Test;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
|
||||
public class MessageBuilderTest {
|
||||
@Test
|
||||
public void testFailIfEmpty() {
|
||||
|
||||
Reference in New Issue
Block a user