From bbbc62c6d6f9ed26e8dde8eb7abc4500816a5a9b Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Mon, 20 Sep 2021 20:34:13 +0200 Subject: Added tests for ad filter --- .../skyblocker/chat/filters/AdFilterTest.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java (limited to 'src/test/java/me/xmrvizzy/skyblocker/chat') diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java new file mode 100644 index 00000000..8c0bf245 --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java @@ -0,0 +1,56 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import org.junit.jupiter.api.Test; + +import java.util.regex.Pattern; + +import static org.junit.jupiter.api.Assertions.*; + +class AdFilterTest { + + private final static Pattern AD_PATTERN = new AdFilter().getPattern(); + + @Test + void noRank() { + testAd("§7Advertiser§7: buy"); + } + + @Test + void vip() { + testAd("§a[VIP] Advertiser§f: buy"); + } + + @Test + void mvp() { + testAd("§b[MVP§c+§b] Advertiser§f: buy"); + } + + @Test + void plusPlus() { + testAd("§6[MVP§c++§6] Advertiser§f: buy"); + } + + @Test + void simpleAd() { + testAd("§b[MVP§c+§b] b2dderr§f: buying prismapump"); + } + + @Test + void uppercaseAd() { + testAd("§a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!"); + } + + @Test + void characterSpam() { + testAd("§a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<"); + } + + @Test + void notAd() { + assertFalse(AD_PATTERN.matcher("§a[VIP] NotMatching§f: This message shouldn't match!").matches()); + } + + public void testAd(String ad) { + assertTrue(AD_PATTERN.matcher(ad).matches()); + } +} \ No newline at end of file -- cgit From d5b5439a558a05b46399793839cb210ded83699e Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Tue, 21 Sep 2021 13:13:36 +0200 Subject: Added abstract test for chat listeners --- .../xmrvizzy/skyblocker/chat/ChatListenerTest.java | 31 +++++++++++++++++++++ .../skyblocker/chat/filters/AdFilterTest.java | 32 +++++++++------------- 2 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java (limited to 'src/test/java/me/xmrvizzy/skyblocker/chat') diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java new file mode 100644 index 00000000..a38779be --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java @@ -0,0 +1,31 @@ +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 { + private final Pattern pattern; + + public ChatListenerTest(T chatListener) { + pattern = chatListener.getPattern(); + } + + protected void assertMatches(String text) { + assertTrue(pattern.matcher(text).matches()); + } + + protected void assertNotMatches(String text) { + assertFalse(pattern.matcher(text).matches()); + } + + protected String[] getGroups(String text) { + Matcher matcher = pattern.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; + } +} \ 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 8c0bf245..54e1643d 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java @@ -1,56 +1,50 @@ package me.xmrvizzy.skyblocker.chat.filters; +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -import java.util.regex.Pattern; - -import static org.junit.jupiter.api.Assertions.*; - -class AdFilterTest { - - private final static Pattern AD_PATTERN = new AdFilter().getPattern(); +class AdFilterTest extends ChatListenerTest { + public AdFilterTest() { + super(new AdFilter()); + } @Test void noRank() { - testAd("§7Advertiser§7: buy"); + assertMatches("§7Advertiser§7: buy"); } @Test void vip() { - testAd("§a[VIP] Advertiser§f: buy"); + assertMatches("§a[VIP] Advertiser§f: buy"); } @Test void mvp() { - testAd("§b[MVP§c+§b] Advertiser§f: buy"); + assertMatches("§b[MVP§c+§b] Advertiser§f: buy"); } @Test void plusPlus() { - testAd("§6[MVP§c++§6] Advertiser§f: buy"); + assertMatches("§6[MVP§c++§6] Advertiser§f: buy"); } @Test void simpleAd() { - testAd("§b[MVP§c+§b] b2dderr§f: buying prismapump"); + assertMatches("§b[MVP§c+§b] b2dderr§f: buying prismapump"); } @Test void uppercaseAd() { - testAd("§a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!"); + assertMatches("§a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!"); } @Test void characterSpam() { - testAd("§a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<"); + assertMatches("§a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<"); } @Test void notAd() { - assertFalse(AD_PATTERN.matcher("§a[VIP] NotMatching§f: This message shouldn't match!").matches()); - } - - public void testAd(String ad) { - assertTrue(AD_PATTERN.matcher(ad).matches()); + assertNotMatches("§a[VIP] NotMatching§f: This message shouldn't match!"); } } \ No newline at end of file -- cgit From 9bf73227aa1607705a5978143b7dd38afcfe3b0c Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Tue, 21 Sep 2021 13:13:57 +0200 Subject: Added tests for chat filters --- .../skyblocker/chat/filters/AbilityFilterTest.java | 20 ++++++++++++++++++++ .../skyblocker/chat/filters/AoteFilterTest.java | 15 +++++++++++++++ .../skyblocker/chat/filters/HealFilterTest.java | 20 ++++++++++++++++++++ .../skyblocker/chat/filters/ImplosionFilterTest.java | 20 ++++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java create mode 100644 src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java (limited to 'src/test/java/me/xmrvizzy/skyblocker/chat') diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java new file mode 100644 index 00000000..b8a5f9da --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java @@ -0,0 +1,20 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import org.junit.jupiter.api.Test; + +class AbilityFilterTest extends ChatListenerTest { + public AbilityFilterTest() { + super(new AbilityFilter()); + } + + @Test + void charges() { + assertMatches("No more charges, next one in 13.2s!"); + } + + @Test + void cooldown() { + 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/AoteFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java new file mode 100644 index 00000000..52ab5fe9 --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java @@ -0,0 +1,15 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import org.junit.jupiter.api.Test; + +class AoteFilterTest extends ChatListenerTest { + public AoteFilterTest() { + super(new AoteFilter()); + } + + @Test + void testRegex() { + assertMatches("There are blocks in the way!"); + } +} \ No newline at end of file diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java new file mode 100644 index 00000000..49ceadb3 --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java @@ -0,0 +1,20 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import org.junit.jupiter.api.Test; + +class HealFilterTest extends ChatListenerTest { + public HealFilterTest() { + super(new HealFilter()); + } + + @Test + void healSelf() { + assertMatches("You healed yourself for 18.3 health!"); + } + + @Test + void healedYou() { + 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 new file mode 100644 index 00000000..8ee58564 --- /dev/null +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java @@ -0,0 +1,20 @@ +package me.xmrvizzy.skyblocker.chat.filters; + +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; +import org.junit.jupiter.api.Test; + +class ImplosionFilterTest extends ChatListenerTest { + public ImplosionFilterTest() { + super(new ImplosionFilter()); + } + + @Test + void oneEnemy() { + assertMatches("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."); + } +} \ No newline at end of file -- cgit From 3755fd8888397a052175f287fb9ca46f61f7d3fe Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Tue, 21 Sep 2021 14:28:20 +0200 Subject: Added another method to ChatListenerTest --- src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/test/java/me/xmrvizzy/skyblocker/chat') diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java index a38779be..78574c74 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java @@ -28,4 +28,8 @@ public abstract class ChatListenerTest { groups[i] = matcher.group(i); return groups; } + + protected void assertGroup(String text, int group, String expect) { + assertEquals(getGroups(text)[group], expect); + } } \ No newline at end of file -- cgit