From bf771c192d4a859ae59891a6258d49176883ae86 Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Sun, 4 Mar 2012 18:58:18 -0500 Subject: [Bleeding] Fixed some issues with no-effect potions, and added more potion tests. Fixes BUKKIT-1251 --- src/test/java/org/bukkit/potion/PotionTest.java | 84 ++++++++++++++++--------- 1 file changed, 54 insertions(+), 30 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/bukkit/potion/PotionTest.java b/src/test/java/org/bukkit/potion/PotionTest.java index afc54352..58252aeb 100644 --- a/src/test/java/org/bukkit/potion/PotionTest.java +++ b/src/test/java/org/bukkit/potion/PotionTest.java @@ -85,38 +85,62 @@ public class PotionTest { assertTrue((potion.toDamageValue() & 0x3F) == (PotionType.POISON.getDamageValue() | 0x20)); } - @Test - public void useNulls() { - try { - new Potion(null, 2); - fail("cannot use null type in constructor with a level"); - } catch (IllegalArgumentException ex) { - } - - try { - new Potion(PotionType.POISON, 3); - fail("level must be less than 3 in constructor"); - } catch (IllegalArgumentException ex) { - } + @Test(expected=IllegalArgumentException.class) + public void nullType() { + new Potion(null, 2); + } + + @Test(expected=IllegalArgumentException.class) + public void maxLevelConstruct() { + new Potion(PotionType.POISON, 3); + } + + @Test(expected=IllegalArgumentException.class) + public void maxLevelSet() { + Potion potion = new Potion(PotionType.POISON); + potion.setLevel(3); + } + + @Test(expected=IllegalArgumentException.class) + public void nullStack() { + Potion potion = new Potion(PotionType.POISON); + potion.apply((ItemStack) null); + } + @Test(expected=IllegalArgumentException.class) + public void nullEntity() { Potion potion = new Potion(PotionType.POISON); - try { - potion.setLevel(3); - fail("level must be set less than 3"); - } catch (IllegalArgumentException ex) { - } - - try { - potion.apply((ItemStack) null); - fail("cannot apply to a null itemstack"); - } catch (IllegalArgumentException ex) { - } - - try { - potion.apply((LivingEntity) null); - fail("cannot apply to a null entity"); - } catch (IllegalArgumentException ex) { - } + potion.apply((LivingEntity) null); + } + + @Test + public void water() { + Potion potion = new Potion(PotionType.WATER); + assertEquals(0, potion.getLevel()); + assertFalse(potion.isSplash()); + assertFalse(potion.hasExtendedDuration()); + assertEquals(0, potion.toDamageValue()); + } + + @Test + public void mundane() { + Potion potion = new Potion(0); + assertFalse(potion.getType() == PotionType.WATER); + assertFalse(potion.toDamageValue() == 0); + assertEquals(8192, potion.toDamageValue()); + Potion potion2 = Potion.fromDamage(8192); + assertEquals(potion, potion2); + assertEquals(0, potion.getLevel()); + } + + @Test + public void awkward() { + Potion potion = new Potion(16); + assertEquals(16, potion.getNameId()); + assertFalse(potion.isSplash()); + assertFalse(potion.hasExtendedDuration()); + assertNull(potion.getType()); + assertEquals(16, potion.toDamageValue()); } private static final int EXTENDED_BIT = 0x40; -- cgit v1.2.3