diff options
author | LifeIsAParadox <LifeIsAParadox@users.noreply.github.com> | 2021-12-12 21:48:45 +0100 |
---|---|---|
committer | LifeIsAParadox <LifeIsAParadox@users.noreply.github.com> | 2021-12-12 21:48:45 +0100 |
commit | b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02 (patch) | |
tree | 974dce88b44924712507e38d6ef3f3641fb90189 /src/test/java | |
parent | e670718beb6463097ede5661dae59c0f9e4726e0 (diff) | |
download | Skyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.tar.gz Skyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.tar.bz2 Skyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.zip |
Merge pull request #28
Diffstat (limited to 'src/test/java')
7 files changed, 64 insertions, 34 deletions
diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java index 78574c74..803f72d8 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java @@ -1,35 +1,34 @@ package me.xmrvizzy.skyblocker.chat; import java.util.regex.Matcher; -import java.util.regex.Pattern; import static org.junit.jupiter.api.Assertions.*; public abstract class ChatListenerTest<T extends ChatListener> { - private final Pattern pattern; + protected final T listener; - public ChatListenerTest(T chatListener) { - pattern = chatListener.getPattern(); + public ChatListenerTest(T listener) { + this.listener = listener; } - protected void assertMatches(String text) { - assertTrue(pattern.matcher(text).matches()); + protected boolean captures(String text) { + return listener.getPattern().matcher(text).matches(); } - - protected void assertNotMatches(String text) { - assertFalse(pattern.matcher(text).matches()); - } - protected String[] getGroups(String text) { - Matcher matcher = pattern.matcher(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(getGroups(text)[group], expect); + assertEquals(expect, getGroups(text)[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 b8a5f9da..ec2db07b 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java @@ -3,18 +3,18 @@ package me.xmrvizzy.skyblocker.chat.filters; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -class AbilityFilterTest extends ChatListenerTest<AbilityFilter> { +class AbilityFilterTest extends ChatFilterTest<AbilityFilter> { public AbilityFilterTest() { super(new AbilityFilter()); } @Test void charges() { - assertMatches("No more charges, next one in 13.2s!"); + assertFilters("No more charges, next one in 13.2s!"); } @Test void cooldown() { - assertMatches("This ability is on cooldown for 42s."); + assertFilters("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 54e1643d..639042fe 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java @@ -3,48 +3,53 @@ package me.xmrvizzy.skyblocker.chat.filters; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -class AdFilterTest extends ChatListenerTest<AdFilter> { +class AdFilterTest extends ChatFilterTest<AdFilter> { public AdFilterTest() { super(new AdFilter()); } @Test void noRank() { - assertMatches("§7Advertiser§7: buy"); + assertCaptures("§7Advertiser§7: advertisement"); } @Test void vip() { - assertMatches("§a[VIP] Advertiser§f: buy"); + assertCaptures("§a[VIP] Advertiser§f: advertisement"); } @Test void mvp() { - assertMatches("§b[MVP§c+§b] Advertiser§f: buy"); + assertCaptures("§b[MVP§c+§b] Advertiser§f: advertisement"); } @Test void plusPlus() { - assertMatches("§6[MVP§c++§6] Advertiser§f: buy"); + assertCaptures("§6[MVP§c++§6] Advertiser§f: advertisement"); + } + + @Test + void capturesMessage() { + assertGroup("§b[MVP§c+§b] b2dderr§f: buying prismapump", 2, "buying prismapump"); } @Test void simpleAd() { - assertMatches("§b[MVP§c+§b] b2dderr§f: buying prismapump"); + assertFilters("§b[MVP§c+§b] b2dderr§f: buying prismapump"); } @Test void uppercaseAd() { - assertMatches("§a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!"); + assertFilters("§a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!"); } @Test void characterSpam() { - assertMatches("§a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<"); + assertFilters("§a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<"); } @Test void notAd() { - assertNotMatches("§a[VIP] NotMatching§f: This message shouldn't match!"); + assertNotFilters("§a[VIP] NotMatching§f: This message shouldn't match!"); } }
\ 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 52ab5fe9..2aa14e1c 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java @@ -3,13 +3,13 @@ package me.xmrvizzy.skyblocker.chat.filters; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -class AoteFilterTest extends ChatListenerTest<AoteFilter> { +class AoteFilterTest extends ChatFilterTest<AoteFilter> { public AoteFilterTest() { super(new AoteFilter()); } @Test void testRegex() { - assertMatches("There are blocks in the way!"); + assertFilters("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 new file mode 100644 index 00000000..ff3399a7 --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java @@ -0,0 +1,26 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; + +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 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/HealFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java index 49ceadb3..f7b4d59b 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java @@ -3,18 +3,18 @@ package me.xmrvizzy.skyblocker.chat.filters; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -class HealFilterTest extends ChatListenerTest<HealFilter> { +class HealFilterTest extends ChatFilterTest<HealFilter> { public HealFilterTest() { super(new HealFilter()); } @Test void healSelf() { - assertMatches("You healed yourself for 18.3 health!"); + assertFilters("You healed yourself for 18.3 health!"); } @Test void healedYou() { - assertMatches("H3aler_ healed you for 56 health!"); + assertFilters("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 8ee58564..a6526925 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java @@ -3,18 +3,18 @@ package me.xmrvizzy.skyblocker.chat.filters; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -class ImplosionFilterTest extends ChatListenerTest<ImplosionFilter> { +class ImplosionFilterTest extends ChatFilterTest<ImplosionFilter> { public ImplosionFilterTest() { super(new ImplosionFilter()); } @Test void oneEnemy() { - assertMatches("Your Implosion hit 1 enemy for 636,116.8 damage."); + assertFilters("Your Implosion hit 1 enemy for 636,116.8 damage."); } @Test void multipleEnemies() { - assertMatches("Your Implosion hit 7 enemies for 4,452,817.4 damage."); + assertFilters("Your Implosion hit 7 enemies for 4,452,817.4 damage."); } }
\ No newline at end of file |