diff options
Diffstat (limited to 'Essentials/test/com/earth2me/essentials/EconomyTest.java')
-rw-r--r-- | Essentials/test/com/earth2me/essentials/EconomyTest.java | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/Essentials/test/com/earth2me/essentials/EconomyTest.java b/Essentials/test/com/earth2me/essentials/EconomyTest.java new file mode 100644 index 000000000..575cff81a --- /dev/null +++ b/Essentials/test/com/earth2me/essentials/EconomyTest.java @@ -0,0 +1,124 @@ +package com.earth2me.essentials; + +import com.earth2me.essentials.api.Economy; +import com.earth2me.essentials.api.NoLoanPermittedException; +import com.earth2me.essentials.api.UserDoesNotExistException; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import junit.framework.TestCase; +import org.bukkit.plugin.InvalidDescriptionException; + + +public class EconomyTest extends TestCase +{ + private OfflinePlayer base1; + private Essentials ess; + + public EconomyTest(String testName) + { + super(testName); + ess = new Essentials(); + FakeServer server = new FakeServer(); + try + { + ess.setupForTesting(server); + } + catch (InvalidDescriptionException ex) + { + fail("InvalidDescriptionException"); + } + catch (IOException ex) + { + fail("IOException"); + } + base1 = new OfflinePlayer("TestPlayer1"); + server.addPlayer(base1); + } + + // only one big test, since we use static instances + public void testEconomy() + { + // test NPC + String npcName = "npc1"; + assertFalse(Economy.playerExists(npcName)); + assertTrue(Economy.createNPC(npcName)); + assertTrue(Economy.playerExists(npcName)); + assertNotNull(ess.getOfflineUser(npcName)); + try + { + Economy.removeNPC(npcName); + } + catch (UserDoesNotExistException ex) + { + fail(ex.getMessage()); + } + assertFalse(Economy.playerExists(npcName)); + + //test Math + try + { + String playerName = "TestPlayer1"; + assertTrue(Economy.playerExists(playerName)); + Economy.resetBalance(playerName); + assertEquals(0.0, Economy.getMoney(playerName)); + Economy.add(playerName, 10.0); + assertEquals(10.0, Economy.getMoney(playerName)); + Economy.subtract(playerName, 5.0); + assertEquals(5.0, Economy.getMoney(playerName)); + Economy.multiply(playerName, 2.0); + assertEquals(10.0, Economy.getMoney(playerName)); + Economy.divide(playerName, 2.0); + assertEquals(5.0, Economy.getMoney(playerName)); + Economy.setMoney(playerName, 10.0); + assertEquals(10.0, Economy.getMoney(playerName)); + } + catch (NoLoanPermittedException ex) + { + fail(ex.getMessage()); + } + catch (UserDoesNotExistException ex) + { + fail(ex.getMessage()); + } + + //test Format + assertEquals("$10", Economy.format(10.0)); + assertEquals("$10.10", Economy.format(10.10)); + assertEquals("$10.10", Economy.format(10.102)); + assertEquals("$10.11", Economy.format(10.109)); + + + //test Exceptions + try + { + String playerName = "TestPlayer1"; + assertTrue(Economy.playerExists(playerName)); + Economy.resetBalance(playerName); + assertEquals(0.0, Economy.getMoney(playerName)); + Economy.subtract(playerName, 5.0); + fail(); + } + catch (NoLoanPermittedException ex) + { + } + catch (UserDoesNotExistException ex) + { + fail(ex.getMessage()); + } + + try + { + String playerName = "UnknownPlayer"; + Economy.resetBalance(playerName); + fail(); + } + catch (NoLoanPermittedException ex) + { + fail(ex.getMessage()); + } + catch (UserDoesNotExistException ex) + { + } + } +} |