TF-EssentialsX/Essentials/test/com/earth2me/essentials/UserTest.java

100 lines
2.3 KiB
Java
Raw Normal View History

package com.earth2me.essentials;
import java.io.IOException;
2013-05-05 03:13:17 +00:00
import java.math.BigDecimal;
import java.util.logging.Level;
import java.util.logging.Logger;
import junit.framework.TestCase;
import net.ess3.api.MaxMoneyException;
import org.bukkit.Location;
import org.bukkit.World.Environment;
import org.bukkit.plugin.InvalidDescriptionException;
public class UserTest extends TestCase
{
private final OfflinePlayer base1;
private final Essentials ess;
private final FakeServer server;
public UserTest(String testName)
{
super(testName);
server = new FakeServer();
server.createWorld("testWorld", Environment.NORMAL);
ess = new Essentials(server);
try
{
ess.setupForTesting(server);
}
catch (InvalidDescriptionException ex)
{
fail("InvalidDescriptionException");
}
catch (IOException ex)
{
fail("IOException");
}
base1 = server.createPlayer("testPlayer1", ess);
server.addPlayer(base1);
ess.getUser(base1);
}
private void should(String what)
{
System.out.println(getName() + " should " + what);
}
public void testUpdate()
{
OfflinePlayer base1alt = server.createPlayer(base1.getName(), ess);
assertEquals(base1alt, ess.getUser(base1alt).getBase());
}
public void testHome()
{
User user = ess.getUser(base1);
Location loc = base1.getLocation();
user.setHome("home", loc);
OfflinePlayer base2 = server.createPlayer(base1.getName(), ess);
User user2 = ess.getUser(base2);
Location home = user2.getHome(loc);
assertNotNull(home);
assertEquals(loc.getWorld().getName(), home.getWorld().getName());
assertEquals(loc.getX(), home.getX());
assertEquals(loc.getY(), home.getY());
assertEquals(loc.getZ(), home.getZ());
assertEquals(loc.getYaw(), home.getYaw());
assertEquals(loc.getPitch(), home.getPitch());
}
public void testMoney()
{
should("properly set, take, give, and get money");
User user = ess.getUser(base1);
2013-05-05 09:41:19 +00:00
BigDecimal i = new BigDecimal("100.5");
try
{
user.setMoney(i);
user.takeMoney(new BigDecimal(50));
i = i.subtract(BigDecimal.valueOf(50));
user.giveMoney(new BigDecimal(25));
i = i.add(BigDecimal.valueOf(25));
}
catch (MaxMoneyException ex)
{
fail();
}
2013-05-05 09:41:19 +00:00
assertEquals(user.getMoney(), i);
}
public void testGetGroup()
{
should("return the default group");
User user = ess.getUser(base1);
assertEquals(user.getGroup(), "default");
}
}