diff options
Diffstat (limited to 'src/test/java/me/xmrvizzy/skyblocker')
14 files changed, 69 insertions, 83 deletions
diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java deleted file mode 100644 index 803f72d8..00000000 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package me.xmrvizzy.skyblocker.chat; - -import java.util.regex.Matcher; - -import static org.junit.jupiter.api.Assertions.*; - -public abstract class ChatListenerTest<T extends ChatListener> { - protected final T listener; - - public ChatListenerTest(T listener) { - this.listener = listener; - } - - protected boolean captures(String text) { - return listener.getPattern().matcher(text).matches(); - } - protected String[] getGroups(String text) { - Matcher matcher = listener.getPattern().matcher(text); - assertTrue(matcher.matches()); - String[] groups = new String[matcher.groupCount() + 1]; - for (int i = 0; i < groups.length; i++) - groups[i] = matcher.group(i); - return groups; - } - protected void assertCaptures(String text) { - assertTrue(captures(text)); - } - protected void assertNotCaptures(String text) { - assertTrue(captures(text)); - } - protected void assertGroup(String text, int group, String expect) { - assertEquals(expect, getGroups(text)[group]); - } -}
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatPatternListenerTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatPatternListenerTest.java new file mode 100644 index 00000000..a4d6010a --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatPatternListenerTest.java @@ -0,0 +1,27 @@ +package me.xmrvizzy.skyblocker.chat; + +import java.util.regex.Matcher; + +import static org.junit.jupiter.api.Assertions.*; + +public abstract class ChatPatternListenerTest<T extends ChatPatternListener> { + protected final T listener; + + public ChatPatternListenerTest(T listener) { + this.listener = listener; + } + + protected Matcher matcher(String message) { + return listener.pattern.matcher(message); + } + + protected void assertMatches(String message) { + assertTrue(matcher(message).matches()); + } + + protected void assertGroup(String message, int group, String expect) { + Matcher matcher = matcher(message); + assertTrue(matcher.matches()); + assertEquals(expect, matcher.group(group)); + } +}
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java index ec2db07b..65faef5b 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java @@ -1,6 +1,5 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; class AbilityFilterTest extends ChatFilterTest<AbilityFilter> { @@ -10,11 +9,11 @@ class AbilityFilterTest extends ChatFilterTest<AbilityFilter> { @Test void charges() { - assertFilters("No more charges, next one in 13.2s!"); + assertMatches("No more charges, next one in 13.2s!"); } @Test void cooldown() { - assertFilters("This ability is on cooldown for 42s."); + assertMatches("This ability is on cooldown for 42s."); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java index 639042fe..73fb5dbd 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java @@ -1,31 +1,35 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; -class AdFilterTest extends ChatFilterTest<AdFilter> { +import java.util.regex.Matcher; + +import static org.junit.jupiter.api.Assertions.*; + +class AdFilterTest extends ChatPatternListenerTest<AdFilter> { public AdFilterTest() { super(new AdFilter()); } @Test void noRank() { - assertCaptures("§7Advertiser§7: advertisement"); + assertMatches("§7Advertiser§7: advertisement"); } @Test void vip() { - assertCaptures("§a[VIP] Advertiser§f: advertisement"); + assertMatches("§a[VIP] Advertiser§f: advertisement"); } @Test void mvp() { - assertCaptures("§b[MVP§c+§b] Advertiser§f: advertisement"); + assertMatches("§b[MVP§c+§b] Advertiser§f: advertisement"); } @Test void plusPlus() { - assertCaptures("§6[MVP§c++§6] Advertiser§f: advertisement"); + assertMatches("§6[MVP§c++§6] Advertiser§f: advertisement"); } @Test @@ -50,6 +54,14 @@ class AdFilterTest extends ChatFilterTest<AdFilter> { @Test void notAd() { - assertNotFilters("§a[VIP] NotMatching§f: This message shouldn't match!"); + Matcher matcher = listener.pattern.matcher("§a[VIP] NotMatching§f: This message shouldn't match!"); + assertTrue(matcher.matches()); + assertFalse(listener.onMatch(null, matcher)); + } + + void assertFilters(String message) { + Matcher matcher = listener.pattern.matcher(message); + assertTrue(matcher.matches()); + assertTrue(listener.onMatch(null, matcher)); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java index 2aa14e1c..4f736bd3 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java @@ -1,6 +1,5 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; class AoteFilterTest extends ChatFilterTest<AoteFilter> { @@ -10,6 +9,6 @@ class AoteFilterTest extends ChatFilterTest<AoteFilter> { @Test void testRegex() { - assertFilters("There are blocks in the way!"); + assertMatches("There are blocks in the way!"); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java index ff3399a7..6b356e5c 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java @@ -1,26 +1,13 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListener; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertFalse; -public class ChatFilterTest<T extends ChatListener> extends ChatListenerTest<T> { +public class ChatFilterTest<T extends ChatPatternListener> extends ChatPatternListenerTest<T> { public ChatFilterTest(T listener) { super(listener); } - - protected boolean filters(String text) { - if(!captures(text)) - return false; - String[] groups = getGroups(text); - return listener.onMessage(groups); - } - protected void assertFilters(String text) { - assertTrue(filters(text)); - } - protected void assertNotFilters(String text) { - assertFalse(filters(text)); - } } diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilterTest.java index 521668b0..8af25b5e 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilterTest.java @@ -9,16 +9,16 @@ public class ComboFilterTest extends ChatFilterTest<ComboFilter> { @Test void testComboMF() { - assertFilters("+5 Kill Combo +3% ✯ Magic Find"); + assertMatches("+5 Kill Combo +3% ✯ Magic Find"); } @Test void testComboCoins() { - assertFilters("+10 Kill Combo +10 coins per kill"); + assertMatches("+10 Kill Combo +10 coins per kill"); } @Test void testComboExpired() { - assertFilters("Your Kill Combo has expired! You reached a 11 Kill Combo!"); + assertMatches("Your Kill Combo has expired! You reached a 11 Kill Combo!"); } } diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java index f7b4d59b..5d8c12cf 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java @@ -1,6 +1,5 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; class HealFilterTest extends ChatFilterTest<HealFilter> { @@ -10,11 +9,11 @@ class HealFilterTest extends ChatFilterTest<HealFilter> { @Test void healSelf() { - assertFilters("You healed yourself for 18.3 health!"); + assertMatches("You healed yourself for 18.3 health!"); } @Test void healedYou() { - assertFilters("H3aler_ healed you for 56 health!"); + assertMatches("H3aler_ healed you for 56 health!"); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java index a6526925..59451167 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java @@ -1,6 +1,5 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; class ImplosionFilterTest extends ChatFilterTest<ImplosionFilter> { @@ -10,11 +9,11 @@ class ImplosionFilterTest extends ChatFilterTest<ImplosionFilter> { @Test void oneEnemy() { - assertFilters("Your Implosion hit 1 enemy for 636,116.8 damage."); + assertMatches("Your Implosion hit 1 enemy for 636,116.8 damage."); } @Test void multipleEnemies() { - assertFilters("Your Implosion hit 7 enemies for 4,452,817.4 damage."); + assertMatches("Your Implosion hit 7 enemies for 4,452,817.4 damage."); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilterTest.java index 605d57bb..a3eadc7b 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilterTest.java @@ -9,11 +9,11 @@ public class TeleportPadFilterTest extends ChatFilterTest<TeleportPadFilter> { @Test void testTeleport() { - assertFilters("Warped from the Base Teleport Pad to the Minion Teleport Pad!"); + assertMatches("Warped from the Base Teleport Pad to the Minion Teleport Pad!"); } @Test void testNoDestination() { - assertFilters("This Teleport Pad does not have a destination set!"); + assertMatches("This Teleport Pad does not have a destination set!"); } }
\ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java index 18c638c7..555753b6 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java @@ -1,9 +1,9 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; -class ThreeWeirdosTest extends ChatListenerTest<ThreeWeirdos> { +class ThreeWeirdosTest extends ChatPatternListenerTest<ThreeWeirdos> { public ThreeWeirdosTest() { super(new ThreeWeirdos()); } diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java index 6f7950e3..37f077fb 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java @@ -1,9 +1,9 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; -class TriviaTest extends ChatListenerTest<Trivia> { +class TriviaTest extends ChatPatternListenerTest<Trivia> { public TriviaTest() { super(new Trivia()); } diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java index 35b8ab58..f8e0af18 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java @@ -1,11 +1,9 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -class FetchurTest extends ChatListenerTest<Fetchur> { +class FetchurTest extends ChatPatternListenerTest<Fetchur> { public FetchurTest() { super(new Fetchur()); } diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java index ab2878ef..e26e306e 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java @@ -1,9 +1,9 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; -class PuzzlerTest extends ChatListenerTest<Puzzler> { +class PuzzlerTest extends ChatPatternListenerTest<Puzzler> { public PuzzlerTest() { super(new Puzzler()); } |