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 +++++++++------------- .../skyblocker/skyblock/dwarven/FetchurTest.java | 15 +++++----- 3 files changed, 51 insertions(+), 27 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 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 a7426504..1ae1ac70 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java @@ -1,18 +1,17 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; +import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -import java.util.regex.Matcher; - import static org.junit.jupiter.api.Assertions.*; -class FetchurTest { - private static final Fetchur fetchur = new Fetchur(); +class FetchurTest extends ChatListenerTest { + public FetchurTest() { + super(new Fetchur()); + } @Test public void patternCaptures() { - Matcher m = fetchur.getPattern().matcher("§e[NPC] Fetchur§f: its a hint"); - assertTrue(m.matches()); - assertEquals(m.group(1), "a hint"); + assertEquals(getGroups("§e[NPC] Fetchur§f: its a hint")[1], "a hint"); } -} \ 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 ++++ .../java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java | 8 +++----- .../java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) (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 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 0006ddd8..64cf7711 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java @@ -3,8 +3,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; import me.xmrvizzy.skyblocker.chat.ChatListenerTest; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - class TriviaTest extends ChatListenerTest { public TriviaTest() { super(new Trivia()); @@ -12,16 +10,16 @@ class TriviaTest extends ChatListenerTest { @Test void question() { - assertEquals(getGroups(" What is the status of Necron?")[1], "What is the status of Necron?"); + assertGroup(" What is the status of Necron?", 1, "What is the status of Necron?"); } @Test void qestion2() { - assertEquals(getGroups(" How many Fairy Souls are there in Jerry's Workshop?")[1], "How many Fairy Souls are there in Jerry's Workshop?"); + assertGroup(" How many Fairy Souls are there in Jerry's Workshop?", 1, "How many Fairy Souls are there in Jerry's Workshop?"); } @Test void answer() { - assertEquals(getGroups(" §6 ⓑ §a9 Fairy Souls")[3], "9 Fairy Souls"); + assertGroup(" §6 ⓑ §a9 Fairy Souls", 3, "9 Fairy Souls"); } } \ No newline at end of file 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 1ae1ac70..35b8ab58 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java @@ -12,6 +12,6 @@ class FetchurTest extends ChatListenerTest { @Test public void patternCaptures() { - assertEquals(getGroups("§e[NPC] Fetchur§f: its a hint")[1], "a hint"); + assertGroup("§e[NPC] Fetchur§f: its a hint", 1, "a hint"); } } -- cgit