actual, T... expected) {
+ assertThat(actual.size(), is(expected.length), "Size of the array");
assertThat(actual, hasItems(expected));
}
}
diff --git a/paper-api/src/test/java/org/bukkit/plugin/messaging/TestMessageListener.java b/paper-api/src/test/java/org/bukkit/plugin/messaging/TestMessageListener.java
index 7a5b6108d5..20981f604e 100644
--- a/paper-api/src/test/java/org/bukkit/plugin/messaging/TestMessageListener.java
+++ b/paper-api/src/test/java/org/bukkit/plugin/messaging/TestMessageListener.java
@@ -1,6 +1,6 @@
package org.bukkit.plugin.messaging;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
import org.bukkit.entity.Player;
public class TestMessageListener implements PluginMessageListener {
diff --git a/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java b/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java
index 025ec8d637..034faf9a44 100644
--- a/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java
+++ b/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java
@@ -1,22 +1,22 @@
package org.bukkit.scoreboard;
+import static org.junit.jupiter.api.Assertions.*;
import org.bukkit.Material;
import org.bukkit.Statistic;
import org.bukkit.entity.EntityType;
import org.bukkit.support.AbstractTestingBase;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class CriteriaTest extends AbstractTestingBase {
@Test
public void testStatistic() {
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, Material.STONE)); // Generic statistic with block
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, EntityType.CREEPER)); // Generic statistic with entity type
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, Material.STONE)); // Generic statistic with block
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, EntityType.CREEPER)); // Generic statistic with entity type
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.ENTITY_KILLED_BY, Material.AMETHYST_SHARD)); // Entity statistic with material
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.MINE_BLOCK, Material.DIAMOND_PICKAXE)); // Block statistic with item
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.BREAK_ITEM, Material.WATER)); // Item statistic with block
- Assert.assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.KILL_ENTITY, Material.STONE)); // Entity statistic with Material
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.ENTITY_KILLED_BY, Material.AMETHYST_SHARD)); // Entity statistic with material
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.MINE_BLOCK, Material.DIAMOND_PICKAXE)); // Block statistic with item
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.BREAK_ITEM, Material.WATER)); // Item statistic with block
+ assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.KILL_ENTITY, Material.STONE)); // Entity statistic with Material
}
}
diff --git a/paper-api/src/test/java/org/bukkit/support/MatcherAssert.java b/paper-api/src/test/java/org/bukkit/support/MatcherAssert.java
new file mode 100644
index 0000000000..b100262e88
--- /dev/null
+++ b/paper-api/src/test/java/org/bukkit/support/MatcherAssert.java
@@ -0,0 +1,36 @@
+package org.bukkit.support;
+
+import org.hamcrest.Matcher;
+
+/**
+ * Custom assertThat methods, where the reason is put at the end of the method call.
+ * To better match with JUnit 5 argument order and also help with readability for longer reasons.
+ *
+ *
+ * assertThat(String.format("""
+ * The block data created for the material %s is not an instance of the data class from that material.
+ * """, material), blockData, is(instanceOf(expectedClass)));
+ *
+ * vs.
+ *
+ * assertThat(blockData, is(instanceOf(expectedClass)), String.format("""
+ * The block data created for the material %s is not an instance of the data class from that material.
+ * """, material));
+ *
+ */
+public final class MatcherAssert {
+
+ private MatcherAssert() {}
+
+ public static void assertThat(T actual, Matcher super T> matcher) {
+ org.hamcrest.MatcherAssert.assertThat(actual, matcher);
+ }
+
+ public static void assertThat(T actual, Matcher super T> matcher, String reason) {
+ org.hamcrest.MatcherAssert.assertThat(reason, actual, matcher);
+ }
+
+ public static void assertThat(boolean assertion, String reason) {
+ org.hamcrest.MatcherAssert.assertThat(reason, assertion);
+ }
+}
diff --git a/paper-api/src/test/java/org/bukkit/util/BoundingBoxTest.java b/paper-api/src/test/java/org/bukkit/util/BoundingBoxTest.java
index 2d50a9ed66..3141c007d1 100644
--- a/paper-api/src/test/java/org/bukkit/util/BoundingBoxTest.java
+++ b/paper-api/src/test/java/org/bukkit/util/BoundingBoxTest.java
@@ -1,11 +1,11 @@
package org.bukkit.util;
+import static org.bukkit.support.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
import java.util.Map;
import org.bukkit.Location;
import org.bukkit.block.BlockFace;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class BoundingBoxTest {
diff --git a/paper-api/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java b/paper-api/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
index 229c67c769..c93bd4d630 100644
--- a/paper-api/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
+++ b/paper-api/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
@@ -1,83 +1,72 @@
package org.bukkit.util;
+import static org.bukkit.support.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
-import com.google.common.collect.ImmutableList;
-import java.util.List;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.stream.Stream;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
-@RunWith(Parameterized.class)
public class StringUtilStartsWithTest {
- @Parameters(name = "{index}: {0} startsWith {1} == {2}")
- public static List data() {
- return ImmutableList.of(
- new Object[] {
- "Apple",
- "Apples",
- false
- },
- new Object[] {
- "Apples",
- "Apple",
- true
- },
- new Object[] {
- "Apple",
- "Apple",
- true
- },
- new Object[] {
- "Apple",
- "apples",
- false
- },
- new Object[] {
- "apple",
- "Apples",
- false
- },
- new Object[] {
- "apple",
- "apples",
- false
- },
- new Object[] {
- "Apples",
- "apPL",
- true
- },
- new Object[] {
- "123456789",
- "1234567",
- true
- },
- new Object[] {
- "",
- "",
- true
- },
- new Object[] {
- "string",
- "",
- true
- }
+ public static Stream data() {
+ return Stream.of(
+ Arguments.of(
+ "Apple",
+ "Apples",
+ false
+ ),
+ Arguments.of(
+ "Apples",
+ "Apple",
+ true
+ ),
+ Arguments.of(
+ "Apple",
+ "Apple",
+ true
+ ),
+ Arguments.of(
+ "Apple",
+ "apples",
+ false
+ ),
+ Arguments.of(
+ "apple",
+ "Apples",
+ false
+ ),
+ Arguments.of(
+ "apple",
+ "apples",
+ false
+ ),
+ Arguments.of(
+ "Apples",
+ "apPL",
+ true
+ ),
+ Arguments.of(
+ "123456789",
+ "1234567",
+ true
+ ),
+ Arguments.of(
+ "",
+ "",
+ true
+ ),
+ Arguments.of(
+ "string",
+ "",
+ true
+ )
);
}
- @Parameter(0)
- public String base;
- @Parameter(1)
- public String prefix;
- @Parameter(2)
- public boolean result;
-
- @Test
- public void testFor() {
- assertThat(base + " starts with " + prefix + ": " + result, StringUtil.startsWithIgnoreCase(base, prefix), is(result));
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testFor(String base, String prefix, boolean result) {
+ assertThat(StringUtil.startsWithIgnoreCase(base, prefix), is(result), base + " starts with " + prefix + ": " + result);
}
}
diff --git a/paper-api/src/test/java/org/bukkit/util/StringUtilTest.java b/paper-api/src/test/java/org/bukkit/util/StringUtilTest.java
index 6476dd2d1b..87e9146191 100644
--- a/paper-api/src/test/java/org/bukkit/util/StringUtilTest.java
+++ b/paper-api/src/test/java/org/bukkit/util/StringUtilTest.java
@@ -1,38 +1,39 @@
package org.bukkit.util;
+import static org.bukkit.support.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class StringUtilTest {
- @Test(expected = NullPointerException.class)
+ @Test
public void nullPrefixTest() {
- StringUtil.startsWithIgnoreCase("String", null);
+ assertThrows(NullPointerException.class, () -> StringUtil.startsWithIgnoreCase("String", null));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void nullStringTest() {
- StringUtil.startsWithIgnoreCase(null, "String");
+ assertThrows(IllegalArgumentException.class, () -> StringUtil.startsWithIgnoreCase(null, "String"));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void nullCollectionTest() {
- StringUtil.copyPartialMatches("Token", ImmutableList.of(), null);
+ assertThrows(IllegalArgumentException.class, () -> StringUtil.copyPartialMatches("Token", ImmutableList.of(), null));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void nullIterableTest() {
- StringUtil.copyPartialMatches("Token", null, new ArrayList());
+ assertThrows(IllegalArgumentException.class, () -> StringUtil.copyPartialMatches("Token", null, new ArrayList()));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void nullTokenTest() {
- StringUtil.copyPartialMatches(null, ImmutableList.of(), new ArrayList());
+ assertThrows(IllegalArgumentException.class, () -> StringUtil.copyPartialMatches(null, ImmutableList.of(), new ArrayList()));
}
@Test
@@ -46,13 +47,13 @@ public class StringUtilTest {
assertThat(list.size(), is(expected.size() * 2));
}
- @Test(expected = UnsupportedOperationException.class)
+ @Test
public void copyUnsupportedTest() {
- StringUtil.copyPartialMatches("token", ImmutableList.of("token1", "token2"), ImmutableList.of());
+ assertThrows(UnsupportedOperationException.class, () -> StringUtil.copyPartialMatches("token", ImmutableList.of("token1", "token2"), ImmutableList.of()));
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void copyNullTest() {
- StringUtil.copyPartialMatches("token", Arrays.asList("token1", "token2", null), new ArrayList());
+ assertThrows(IllegalArgumentException.class, () -> StringUtil.copyPartialMatches("token", Arrays.asList("token1", "token2", null), new ArrayList()));
}
}
diff --git a/paper-api/src/test/java/org/bukkit/util/VectorTest.java b/paper-api/src/test/java/org/bukkit/util/VectorTest.java
index 03442bfff0..f0927a0da5 100644
--- a/paper-api/src/test/java/org/bukkit/util/VectorTest.java
+++ b/paper-api/src/test/java/org/bukkit/util/VectorTest.java
@@ -1,8 +1,8 @@
package org.bukkit.util;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
import org.bukkit.block.BlockFace;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class VectorTest {
@@ -14,9 +14,9 @@ public class VectorTest {
assertTrue(new Vector(1, 0, 0).isNormalized());
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testNullVectorAxis() {
- new Vector(0, 1, 0).rotateAroundAxis(null, Math.PI);
+ assertThrows(IllegalArgumentException.class, () -> new Vector(0, 1, 0).rotateAroundAxis(null, Math.PI));
}
@Test
diff --git a/paper-api/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java b/paper-api/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
index d3edb72ff8..7021a44e49 100644
--- a/paper-api/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
+++ b/paper-api/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
@@ -1,7 +1,7 @@
package org.bukkit.util.io;
+import static org.bukkit.support.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
import com.google.common.collect.ImmutableList;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -9,80 +9,69 @@ import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
+import java.util.stream.Stream;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.util.Vector;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
-@RunWith(Parameterized.class)
public class BukkitObjectStreamTest {
- @Parameters(name = "{index}: {0}")
- public static List data() {
- return ImmutableList.of(
- new Object[] {
- Color.class.getName(),
- "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAABXNyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAEdAACPT10AANSRUR0AARCTFVFdAAFR1JFRU51cQB+AAMAAAAEdAAFQ29sb3JzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAA/3NxAH4AEQAAAP9zcQB+ABEAAAD/c3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAAHNxAH4AEQAAAIBzcQB+ABEAAACAc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAgHNxAH4AEQAAAIBxAH4AGnNxAH4ABXNxAH4ACHVxAH4AAwAAAARxAH4AC3EAfgAMcQB+AA1xAH4ADnVxAH4AAwAAAARxAH4AEHNxAH4AEQAAAP9xAH4AGnEAfgAac3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAA/3EAfgAac3EAfgARAAAApQ==",
- ImmutableList.of(
- Color.WHITE,
- Color.TEAL,
- Color.PURPLE,
- Color.RED,
- Color.ORANGE
- )
- },
- new Object[] {
- FireworkEffect.class.getName(),
- "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAAA3NyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAGdAACPT10AAdmbGlja2VydAAFdHJhaWx0AAZjb2xvcnN0AAtmYWRlLWNvbG9yc3QABHR5cGV1cQB+AAMAAAAGdAAIRmlyZXdvcmtzcgARamF2YS5sYW5nLkJvb2xlYW7NIHKA1Zz67gIAAVoABXZhbHVleHABc3EAfgATAHNxAH4AAHVxAH4AAwAAAAJzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAt0AANSRUR0AARCTFVFdAAFR1JFRU51cQB+AAMAAAAEdAAFQ29sb3JzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAHEAfgAicQB+ACJzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAtxAH4AG3EAfgAccQB+AB11cQB+AAMAAAAEcQB+AB9zcQB+ACAAAADAc3EAfgAgAAAAwHNxAH4AIAAAAMBzcQB+AAB1cQB+AAMAAAABc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+ABtxAH4AHHEAfgAddXEAfgADAAAABHEAfgAfc3EAfgAgAAAA/3NxAH4AIAAAAP9zcQB+ACAAAAD/dAAKQkFMTF9MQVJHRXNxAH4ABXNxAH4ACHVxAH4AAwAAAAZxAH4AC3EAfgAMcQB+AA1xAH4ADnEAfgAPcQB+ABB1cQB+AAMAAAAGcQB+ABJxAH4AFXEAfgAVc3EAfgAAdXEAfgADAAAAAXNxAH4ABXNxAH4ACHVxAH4AAwAAAARxAH4AC3EAfgAbcQB+ABxxAH4AHXVxAH4AAwAAAARxAH4AH3EAfgAic3EAfgAgAAAAgHEAfgAic3EAfgAAdXEAfgADAAAAAHQABEJBTExzcQB+AAVzcQB+AAh1cQB+AAMAAAAGcQB+AAtxAH4ADHEAfgANcQB+AA5xAH4AD3EAfgAQdXEAfgADAAAABnEAfgAScQB+ABRxAH4AFHNxAH4AAHVxAH4AAwAAAAFzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAtxAH4AG3EAfgAccQB+AB11cQB+AAMAAAAEcQB+AB9zcQB+ACAAAACAcQB+ACJxAH4AInEAfgA/dAAHQ1JFRVBFUg==",
- ImmutableList.of(
- FireworkEffect.builder()
- .withColor(Color.BLACK, Color.SILVER)
- .with(Type.BALL_LARGE)
- .withFade(Color.WHITE)
- .withFlicker()
- .build(),
- FireworkEffect.builder()
- .withColor(Color.NAVY)
- .build(),
- FireworkEffect.builder()
- .withColor(Color.MAROON)
- .withTrail()
- .withFlicker()
- .with(Type.CREEPER)
- .build()
- ),
- },
- new Object[] {
- Vector.class.getName(),
- "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAABHNyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAEdAACPT10AAF4dAABeXQAAXp1cQB+AAMAAAAEdAAGVmVjdG9yc3IAEGphdmEubGFuZy5Eb3VibGWAs8JKKWv7BAIAAUQABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAAAAAABzcQB+ABEAAAAAAAAAAHNxAH4AEQAAAAAAAAAAc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARQIOFwo9cKPZzcQB+ABFAtCKcKPXCj3NxAH4AEUBzrpeNT987c3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARwEQTMzMzMzNzcQB+ABFASYAAAAAAAHNxAH4AEcCjqG3UQTVUc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARQd/////AAABzcQB+ABHB4AAAAAAAAHNxAH4AEQAAAAAAAAAA",
- ImmutableList.of(
- new Vector(0, 0, 0),
- new Vector(624.72, 5154.61, 314.912),
- new Vector(-40.15, 51, -2516.21451),
- new Vector(Integer.MAX_VALUE, Integer.MIN_VALUE, 0)
- )
- });
+ public static Stream data() {
+ return Stream.of(
+ Arguments.of(
+ Color.class.getName(),
+ "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAABXNyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAEdAACPT10AANSRUR0AARCTFVFdAAFR1JFRU51cQB+AAMAAAAEdAAFQ29sb3JzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAA/3NxAH4AEQAAAP9zcQB+ABEAAAD/c3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAAHNxAH4AEQAAAIBzcQB+ABEAAACAc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAgHNxAH4AEQAAAIBxAH4AGnNxAH4ABXNxAH4ACHVxAH4AAwAAAARxAH4AC3EAfgAMcQB+AA1xAH4ADnVxAH4AAwAAAARxAH4AEHNxAH4AEQAAAP9xAH4AGnEAfgAac3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAA/3EAfgAac3EAfgARAAAApQ==",
+ ImmutableList.of(
+ Color.WHITE,
+ Color.TEAL,
+ Color.PURPLE,
+ Color.RED,
+ Color.ORANGE
+ )
+ ),
+ Arguments.of(
+ FireworkEffect.class.getName(),
+ "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAAA3NyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAGdAACPT10AAdmbGlja2VydAAFdHJhaWx0AAZjb2xvcnN0AAtmYWRlLWNvbG9yc3QABHR5cGV1cQB+AAMAAAAGdAAIRmlyZXdvcmtzcgARamF2YS5sYW5nLkJvb2xlYW7NIHKA1Zz67gIAAVoABXZhbHVleHABc3EAfgATAHNxAH4AAHVxAH4AAwAAAAJzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAt0AANSRUR0AARCTFVFdAAFR1JFRU51cQB+AAMAAAAEdAAFQ29sb3JzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAHEAfgAicQB+ACJzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAtxAH4AG3EAfgAccQB+AB11cQB+AAMAAAAEcQB+AB9zcQB+ACAAAADAc3EAfgAgAAAAwHNxAH4AIAAAAMBzcQB+AAB1cQB+AAMAAAABc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+ABtxAH4AHHEAfgAddXEAfgADAAAABHEAfgAfc3EAfgAgAAAA/3NxAH4AIAAAAP9zcQB+ACAAAAD/dAAKQkFMTF9MQVJHRXNxAH4ABXNxAH4ACHVxAH4AAwAAAAZxAH4AC3EAfgAMcQB+AA1xAH4ADnEAfgAPcQB+ABB1cQB+AAMAAAAGcQB+ABJxAH4AFXEAfgAVc3EAfgAAdXEAfgADAAAAAXNxAH4ABXNxAH4ACHVxAH4AAwAAAARxAH4AC3EAfgAbcQB+ABxxAH4AHXVxAH4AAwAAAARxAH4AH3EAfgAic3EAfgAgAAAAgHEAfgAic3EAfgAAdXEAfgADAAAAAHQABEJBTExzcQB+AAVzcQB+AAh1cQB+AAMAAAAGcQB+AAtxAH4ADHEAfgANcQB+AA5xAH4AD3EAfgAQdXEAfgADAAAABnEAfgAScQB+ABRxAH4AFHNxAH4AAHVxAH4AAwAAAAFzcQB+AAVzcQB+AAh1cQB+AAMAAAAEcQB+AAtxAH4AG3EAfgAccQB+AB11cQB+AAMAAAAEcQB+AB9zcQB+ACAAAACAcQB+ACJxAH4AInEAfgA/dAAHQ1JFRVBFUg==",
+ ImmutableList.of(
+ FireworkEffect.builder()
+ .withColor(Color.BLACK, Color.SILVER)
+ .with(Type.BALL_LARGE)
+ .withFade(Color.WHITE)
+ .withFlicker()
+ .build(),
+ FireworkEffect.builder()
+ .withColor(Color.NAVY)
+ .build(),
+ FireworkEffect.builder()
+ .withColor(Color.MAROON)
+ .withTrail()
+ .withFlicker()
+ .with(Type.CREEPER)
+ .build()
+ )
+ ),
+ Arguments.of(
+ Vector.class.getName(),
+ "rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAABHNyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAEdAACPT10AAF4dAABeXQAAXp1cQB+AAMAAAAEdAAGVmVjdG9yc3IAEGphdmEubGFuZy5Eb3VibGWAs8JKKWv7BAIAAUQABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAAAAAABzcQB+ABEAAAAAAAAAAHNxAH4AEQAAAAAAAAAAc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARQIOFwo9cKPZzcQB+ABFAtCKcKPXCj3NxAH4AEUBzrpeNT987c3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARwEQTMzMzMzNzcQB+ABFASYAAAAAAAHNxAH4AEcCjqG3UQTVUc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARQd/////AAABzcQB+ABHB4AAAAAAAAHNxAH4AEQAAAAAAAAAA",
+ ImmutableList.of(
+ new Vector(0, 0, 0),
+ new Vector(624.72, 5154.61, 314.912),
+ new Vector(-40.15, 51, -2516.21451),
+ new Vector(Integer.MAX_VALUE, Integer.MIN_VALUE, 0)
+ )
+ ));
}
- @Parameter(0)
- public String className;
-
- @Parameter(1)
- public String preEncoded;
-
- @Parameter(2)
- public List object;
-
- @Test
- public void checkSerlialization() throws Throwable {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void checkSerlialization(String className, String preEncoded, List object) throws Throwable {
// If this test fails, you may start your trek to debug by commenting the '@Ignore' on the next method
// (and of course, you would read those comments too)
final ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -102,7 +91,7 @@ public class BukkitObjectStreamTest {
final byte[] preEncodedArray = Base64Coder.decode(preEncoded);
final Object readBack;
- final Object preEncoded;
+ final Object encoded;
ObjectInputStream ois = null;
ObjectInputStream preois = null;
@@ -113,7 +102,7 @@ public class BukkitObjectStreamTest {
preois = new BukkitObjectInputStream(preIn);
readBack = ois.readObject();
- preEncoded = preois.readObject();
+ encoded = preois.readObject();
} finally {
if (ois != null) {
try {
@@ -130,12 +119,13 @@ public class BukkitObjectStreamTest {
}
assertThat(object, is(readBack));
- assertThat(object, is(preEncoded));
+ assertThat(object, is(encoded));
}
- @Ignore
- @Test
- public void preEncoded() throws Throwable {
+ @Disabled
+ @ParameterizedTest
+ @MethodSource("data")
+ public void preEncoded(String className, String preEncoded, List object) throws Throwable {
// This test is placed in the case that a necessary change is made to change the encoding format
// Just remove the ignore (or run manually) and it'll give you the new pre-encoded values