aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2021-12-12 21:48:45 +0100
committerLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2021-12-12 21:48:45 +0100
commitb0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02 (patch)
tree974dce88b44924712507e38d6ef3f3641fb90189 /src/test/java
parente670718beb6463097ede5661dae59c0f9e4726e0 (diff)
downloadSkyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.tar.gz
Skyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.tar.bz2
Skyblocker-b0e79e9d3e1fa4146c6bb87a2717fa2dda8e3d02.zip
Merge pull request #28
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/ChatListenerTest.java27
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilterTest.java6
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/AdFilterTest.java23
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilterTest.java4
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilterTest.java26
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/HealFilterTest.java6
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilterTest.java6
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