mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 08:17:44 +01:00
parent
da860132b5
commit
07002cbfcd
@ -64,7 +64,7 @@ Code Requirements
|
||||
* Do not submit your personal changes to configuration files.
|
||||
* Avoid moving or renaming classes.
|
||||
|
||||
Bukkit/CraftBukkit employs [JUnit 4](https://www.vogella.com/tutorials/JUnit4/article.html) for testing. Pull Requests(PR) should attempt to integrate within that framework as appropriate.
|
||||
Bukkit/CraftBukkit employs [JUnit 5](https://www.vogella.com/tutorials/JUnit/article.html) for testing. Pull Requests(PR) should attempt to integrate within that framework as appropriate.
|
||||
Bukkit is a large project and what seems simple to a PR author at the time of writing may easily be overlooked by other authors and updates. Including unit tests with your PR
|
||||
will help to ensure the PR can be easily maintained over time and encourage the Spigot team to pull the PR.
|
||||
|
||||
|
@ -217,6 +217,12 @@
|
||||
<artifactId>json-simple</artifactId>
|
||||
<version>1.1.1</version>
|
||||
<scope>runtime</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
@ -258,15 +264,15 @@
|
||||
</dependency>
|
||||
<!-- testing -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>5.10.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-library</artifactId>
|
||||
<version>1.3</version>
|
||||
<artifactId>hamcrest</artifactId>
|
||||
<version>2.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
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.Lists;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
@ -14,7 +15,7 @@ import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.entity.decoration.PaintingVariant;
|
||||
import org.bukkit.craftbukkit.CraftArt;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ArtTest extends AbstractTestingBase {
|
||||
private static final int UNIT_MULTIPLIER = 16;
|
||||
@ -32,16 +33,16 @@ public class ArtTest extends AbstractTestingBase {
|
||||
Art subject = CraftArt.minecraftHolderToBukkit(enumArt);
|
||||
|
||||
String message = String.format("org.bukkit.Art is missing '%s'", name);
|
||||
assertNotNull(message, subject);
|
||||
assertNotNull(subject, message);
|
||||
|
||||
assertThat(Art.getByName(name), is(subject));
|
||||
assertThat("Art." + subject + "'s width", subject.getBlockWidth(), is(width));
|
||||
assertThat("Art." + subject + "'s height", subject.getBlockHeight(), is(height));
|
||||
assertThat(subject.getBlockWidth(), is(width), "Art." + subject + "'s width");
|
||||
assertThat(subject.getBlockHeight(), is(height), "Art." + subject + "'s height");
|
||||
|
||||
arts.remove(subject);
|
||||
}
|
||||
|
||||
assertThat("org.bukkit.Art has too many arts", arts, is(Collections.EMPTY_LIST));
|
||||
assertThat(arts, is(Collections.EMPTY_LIST), "org.bukkit.Art has too many arts");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -49,8 +50,8 @@ public class ArtTest extends AbstractTestingBase {
|
||||
Map<Holder<PaintingVariant>, Art> cache = new HashMap<>();
|
||||
for (Art art : Art.values()) {
|
||||
Holder<PaintingVariant> enumArt = CraftArt.bukkitToMinecraftHolder(art);
|
||||
assertNotNull(art.name(), enumArt);
|
||||
assertThat(art.name(), cache.put(enumArt, art), is(nullValue()));
|
||||
assertNotNull(enumArt, art.name());
|
||||
assertThat(cache.put(enumArt, art), is(nullValue()), art.name());
|
||||
}
|
||||
}
|
||||
|
||||
@ -59,8 +60,8 @@ public class ArtTest extends AbstractTestingBase {
|
||||
Map<Art, Holder<PaintingVariant>> cache = new EnumMap(Art.class);
|
||||
for (Holder<PaintingVariant> enumArt : BuiltInRegistries.PAINTING_VARIANT.asHolderIdMap()) {
|
||||
Art art = CraftArt.minecraftHolderToBukkit(enumArt);
|
||||
assertNotNull("Could not CraftArt.NotchToBukkit " + enumArt, art);
|
||||
assertThat("Duplicate artwork " + enumArt, cache.put(art, enumArt), is(nullValue()));
|
||||
assertNotNull(art, "Could not CraftArt.NotchToBukkit " + enumArt);
|
||||
assertThat(cache.put(art, enumArt), is(nullValue()), "Duplicate artwork " + enumArt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.world.level.biome.BiomeBase;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.craftbukkit.block.CraftBiome;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class BiomeTest extends AbstractTestingBase {
|
||||
|
||||
@ -16,7 +16,7 @@ public class BiomeTest extends AbstractTestingBase {
|
||||
continue;
|
||||
}
|
||||
|
||||
Assert.assertNotNull("No NMS mapping for " + biome, CraftBiome.bukkitToMinecraftHolder(biome));
|
||||
assertNotNull(CraftBiome.bukkitToMinecraftHolder(biome), "No NMS mapping for " + biome);
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ public class BiomeTest extends AbstractTestingBase {
|
||||
public void testMinecraftToBukkit() {
|
||||
for (BiomeBase biomeBase : BIOMES) {
|
||||
Biome biome = CraftBiome.minecraftToBukkit(biomeBase);
|
||||
Assert.assertTrue("No Bukkit mapping for " + biomeBase, biome != null && biome != Biome.CUSTOM);
|
||||
assertTrue(biome != null && biome != Biome.CUSTOM, "No Bukkit mapping for " + biomeBase);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,38 +1,30 @@
|
||||
package org.bukkit;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.stream.Stream;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.IBlockData;
|
||||
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
/**
|
||||
* This test class ensures that all Blocks (as registered in BuiltInRegistries.BLOCK)
|
||||
* can be converted into their CraftBlockData equivalent.
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
public class BlockDataConversionTest extends AbstractTestingBase {
|
||||
|
||||
@Parameterized.Parameters(name = "{index}: {0}")
|
||||
public static List<Object[]> args() {
|
||||
List<Object[]> list = new ArrayList<>();
|
||||
for (Block block : (Iterable<Block>) BuiltInRegistries.BLOCK) {
|
||||
list.add(new Object[]{block.defaultBlockState()});
|
||||
}
|
||||
return list;
|
||||
public static Stream<Arguments> data() {
|
||||
return BuiltInRegistries.BLOCK.stream().map(Block::defaultBlockState).map(Arguments::of);
|
||||
}
|
||||
|
||||
@Parameterized.Parameter(0) public IBlockData data;
|
||||
|
||||
@Test
|
||||
public void testNotNull() {
|
||||
Assert.assertNotNull(data);
|
||||
Assert.assertNotNull(CraftBlockData.fromData(data));
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testNotNull(IBlockData data) {
|
||||
assertNotNull(data);
|
||||
assertNotNull(CraftBlockData.fromData(data));
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.EnumDirection;
|
||||
import net.minecraft.world.level.block.BlockCake;
|
||||
import net.minecraft.world.level.block.BlockChest;
|
||||
@ -11,8 +13,7 @@ import org.bukkit.block.data.type.Cake;
|
||||
import org.bukkit.block.data.type.Chest;
|
||||
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class BlockDataTest extends AbstractTestingBase {
|
||||
|
||||
@ -21,48 +22,48 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
BlockData cakeTest = CraftBlockData.fromData(Blocks.CAKE.defaultBlockState().setValue(BlockCake.BITES, 3));
|
||||
|
||||
BlockData materialString = CraftBlockData.newData(Material.CAKE, "[bites=3]");
|
||||
Assert.assertThat(materialString, is(cakeTest));
|
||||
assertThat(materialString, is(cakeTest));
|
||||
|
||||
BlockData combined = CraftBlockData.newData(null, "cake[bites=3]");
|
||||
Assert.assertThat(combined, is(cakeTest));
|
||||
assertThat(combined, is(cakeTest));
|
||||
|
||||
BlockData combinedMinecraft = CraftBlockData.newData(null, "minecraft:cake[bites=3]");
|
||||
Assert.assertThat(combinedMinecraft, is(cakeTest));
|
||||
assertThat(combinedMinecraft, is(cakeTest));
|
||||
|
||||
BlockData inverted = CraftBlockData.newData(null, cakeTest.getAsString());
|
||||
Assert.assertThat(inverted, is(cakeTest));
|
||||
assertThat(inverted, is(cakeTest));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testBadMaterial() {
|
||||
CraftBlockData.newData(null, "invalid");
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(null, "invalid"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testBadSyntax() {
|
||||
CraftBlockData.newData(null, "minecraft:cake[bites=3");
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(null, "minecraft:cake[bites=3"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testDoubleMaterial() {
|
||||
CraftBlockData.newData(Material.CAKE, "minecraft:cake[bites=3]");
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(Material.CAKE, "minecraft:cake[bites=3]"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testMistake() {
|
||||
BlockData cakeTest = CraftBlockData.fromData(Blocks.CAKE.defaultBlockState().setValue(BlockCake.BITES, 3));
|
||||
|
||||
CraftBlockData.newData(Material.CAKE, cakeTest.toString());
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(Material.CAKE, cakeTest.toString()));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testItem() {
|
||||
CraftBlockData.newData(Material.DIAMOND_AXE, null);
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(Material.DIAMOND_AXE, null));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testItemParse() {
|
||||
CraftBlockData.newData(null, "minecraft:diamond_axe");
|
||||
assertThrows(IllegalArgumentException.class, () -> CraftBlockData.newData(null, "minecraft:diamond_axe"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -70,11 +71,11 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
Cake cakeTest = (Cake) CraftBlockData.fromData(Blocks.CAKE.defaultBlockState().setValue(BlockCake.BITES, 3));
|
||||
Cake clone = (Cake) cakeTest.clone();
|
||||
|
||||
Assert.assertFalse("Clone did not return new object", cakeTest == clone);
|
||||
Assert.assertThat("Clone is not equal", clone, is(cakeTest));
|
||||
assertNotSame(cakeTest, clone, "Clone did not return new object");
|
||||
assertThat(clone, is(cakeTest), "Clone is not equal");
|
||||
|
||||
clone.setBites(1);
|
||||
Assert.assertThat("Clone is not actually clone", clone, is(not(cakeTest)));
|
||||
assertThat(clone, is(not(cakeTest)), "Clone is not actually clone");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -85,13 +86,13 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
|
||||
BlockData candidate;
|
||||
|
||||
Assert.assertFalse("Target and match are not yet equal", trueTarget.equals(waterlogged));
|
||||
assertNotEquals(trueTarget, waterlogged, "Target and match are not yet equal");
|
||||
candidate = trueTarget.merge(waterlogged);
|
||||
Assert.assertTrue("Target and candidate are now equal", trueTarget.equals(candidate));
|
||||
assertEquals(trueTarget, candidate, "Target and candidate are now equal");
|
||||
|
||||
Assert.assertFalse("Target and match are not yet equal", falseTarget.equals(waterlogged));
|
||||
assertNotEquals(falseTarget, waterlogged, "Target and match are not yet equal");
|
||||
candidate = falseTarget.merge(waterlogged);
|
||||
Assert.assertFalse("Target and candidate are still not equal", falseTarget.equals(candidate));
|
||||
assertNotEquals(falseTarget, candidate, "Target and candidate are still not equal");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -102,24 +103,24 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
|
||||
BlockData candidate;
|
||||
|
||||
Assert.assertFalse("Target and match are not yet equal", trueTarget.equals(any));
|
||||
assertNotEquals(trueTarget, any, "Target and match are not yet equal");
|
||||
candidate = trueTarget.merge(any);
|
||||
Assert.assertTrue("Target and candidate are now equal", trueTarget.equals(candidate));
|
||||
assertEquals(trueTarget, candidate, "Target and candidate are now equal");
|
||||
|
||||
Assert.assertFalse("Target and match are not yet equal", falseTarget.equals(any));
|
||||
assertNotEquals(falseTarget, any, "Target and match are not yet equal");
|
||||
candidate = falseTarget.merge(any);
|
||||
Assert.assertTrue("Target and candidate are now equal", falseTarget.equals(candidate));
|
||||
assertEquals(falseTarget, candidate, "Target and candidate are now equal");
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testCannotMerge1() {
|
||||
Chest one = (Chest) CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]");
|
||||
Chest two = (Chest) CraftBlockData.fromData(Blocks.CHEST.defaultBlockState());
|
||||
|
||||
one.merge(two);
|
||||
assertThrows(IllegalArgumentException.class, () -> one.merge(two));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testCannotMerge2() {
|
||||
Chest one = (Chest) CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]");
|
||||
Chest two = (Chest) CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]");
|
||||
@ -127,30 +128,30 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
one.merge(two);
|
||||
|
||||
two.setFacing(BlockFace.NORTH);
|
||||
one.merge(two);
|
||||
assertThrows(IllegalArgumentException.class, () -> one.merge(two));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testCannotMerge3() {
|
||||
Chest one = (Chest) CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]");
|
||||
Chest two = (Chest) CraftBlockData.newData(null, "minecraft:trapped_chest[waterlogged=true]");
|
||||
|
||||
one.merge(two);
|
||||
assertThrows(IllegalArgumentException.class, () -> one.merge(two));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMatch() {
|
||||
Assert.assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
Assert.assertFalse(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=false]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
Assert.assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest")));
|
||||
Assert.assertFalse(CraftBlockData.newData(null, "minecraft:trapped_chest[facing=east,waterlogged=false]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
Assert.assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true,facing=east]")));
|
||||
assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
assertFalse(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=false]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest")));
|
||||
assertFalse(CraftBlockData.newData(null, "minecraft:trapped_chest[facing=east,waterlogged=false]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true]")));
|
||||
assertTrue(CraftBlockData.newData(null, "minecraft:chest[facing=east,waterlogged=true]").matches(CraftBlockData.newData(null, "minecraft:chest[waterlogged=true,facing=east]")));
|
||||
|
||||
Chest one = (Chest) CraftBlockData.fromData(Blocks.CHEST.defaultBlockState().setValue(BlockChest.FACING, EnumDirection.EAST));
|
||||
Chest two = (Chest) CraftBlockData.newData(null, "minecraft:chest[waterlogged=false]");
|
||||
|
||||
Assert.assertTrue(one.matches(two));
|
||||
Assert.assertFalse(two.matches(one));
|
||||
assertTrue(one.matches(two));
|
||||
assertFalse(two.matches(one));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -158,15 +159,15 @@ public class BlockDataTest extends AbstractTestingBase {
|
||||
String dataString = "minecraft:chest[facing=east,waterlogged=true]";
|
||||
BlockData data = CraftBlockData.newData(null, dataString);
|
||||
|
||||
Assert.assertThat(data.getAsString(true), is(dataString));
|
||||
Assert.assertThat(data.getAsString(false), is("minecraft:chest[facing=east,type=single,waterlogged=true]"));
|
||||
assertThat(data.getAsString(true), is(dataString));
|
||||
assertThat(data.getAsString(false), is("minecraft:chest[facing=east,type=single,waterlogged=true]"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAsString2() {
|
||||
Chest data = (Chest) CraftBlockData.fromData(Blocks.CHEST.defaultBlockState().setValue(BlockChest.FACING, EnumDirection.EAST));
|
||||
|
||||
Assert.assertThat(data.getAsString(true), is("minecraft:chest[facing=east,type=single,waterlogged=false]"));
|
||||
Assert.assertThat(data.getAsString(false), is("minecraft:chest[facing=east,type=single,waterlogged=false]"));
|
||||
assertThat(data.getAsString(true), is("minecraft:chest[facing=east,type=single,waterlogged=false]"));
|
||||
assertThat(data.getAsString(false), is("minecraft:chest[facing=east,type=single,waterlogged=false]"));
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +1,23 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.EnumChatFormat;
|
||||
import net.minecraft.network.chat.IChatBaseComponent;
|
||||
import org.bukkit.craftbukkit.util.CraftChatMessage;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ChatTest {
|
||||
|
||||
@Test
|
||||
public void testColors() {
|
||||
for (ChatColor color : ChatColor.values()) {
|
||||
Assert.assertNotNull(CraftChatMessage.getColor(color));
|
||||
Assert.assertEquals(color, CraftChatMessage.getColor(CraftChatMessage.getColor(color)));
|
||||
assertNotNull(CraftChatMessage.getColor(color));
|
||||
assertEquals(color, CraftChatMessage.getColor(CraftChatMessage.getColor(color)));
|
||||
}
|
||||
|
||||
for (EnumChatFormat format : EnumChatFormat.values()) {
|
||||
Assert.assertNotNull(CraftChatMessage.getColor(format));
|
||||
Assert.assertEquals(format, CraftChatMessage.getColor(CraftChatMessage.getColor(format)));
|
||||
assertNotNull(CraftChatMessage.getColor(format));
|
||||
assertEquals(format, CraftChatMessage.getColor(CraftChatMessage.getColor(format)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,41 +1,26 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.world.item.EnumColor;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
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.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.EnumSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class DyeColorsTest extends AbstractTestingBase {
|
||||
|
||||
@Parameters(name = "{index}: {0}")
|
||||
public static List<Object[]> data() {
|
||||
List<Object[]> list = new ArrayList<Object[]>();
|
||||
for (DyeColor dye : DyeColor.values()) {
|
||||
list.add(new Object[] {dye});
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Parameter public DyeColor dye;
|
||||
|
||||
@Test
|
||||
public void checkColor() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(DyeColor.class)
|
||||
public void checkColor(DyeColor dye) {
|
||||
Color color = dye.getColor();
|
||||
float[] nmsColorArray = EnumColor.byId(dye.getWoolData()).getTextureDiffuseColors();
|
||||
Color nmsColor = Color.fromRGB((int) (nmsColorArray[0] * 255), (int) (nmsColorArray[1] * 255), (int) (nmsColorArray[2] * 255));
|
||||
assertThat(color, is(nmsColor));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkFireworkColor() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(DyeColor.class)
|
||||
public void checkFireworkColor(DyeColor dye) {
|
||||
Color color = dye.getFireworkColor();
|
||||
int nmsColor = EnumColor.byId(dye.getWoolData()).getFireworkColor();
|
||||
assertThat(color, is(Color.fromRGB(nmsColor)));
|
||||
|
@ -1,12 +1,12 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EnchantmentTest extends AbstractTestingBase {
|
||||
|
||||
@ -17,9 +17,9 @@ public class EnchantmentTest extends AbstractTestingBase {
|
||||
|
||||
Enchantment bukkitById = Enchantment.getByKey(CraftNamespacedKey.fromMinecraft(key));
|
||||
|
||||
Assert.assertFalse("Unknown enchant name for " + key, bukkitById.getName().startsWith("UNKNOWN"));
|
||||
assertFalse(bukkitById.getName().startsWith("UNKNOWN"), "Unknown enchant name for " + key);
|
||||
|
||||
Assert.assertNotNull("Unknown target for " + key, bukkitById.getItemTarget());
|
||||
assertNotNull(bukkitById.getItemTarget(), "Unknown target for " + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class GameEventTest extends AbstractTestingBase {
|
||||
|
||||
@ -13,7 +13,7 @@ public class GameEventTest extends AbstractTestingBase {
|
||||
for (net.minecraft.world.level.gameevent.GameEvent nms : BuiltInRegistries.GAME_EVENT) {
|
||||
GameEvent bukkit = GameEvent.getByKey(CraftNamespacedKey.fromMinecraft(BuiltInRegistries.GAME_EVENT.getKey(nms)));
|
||||
|
||||
Assert.assertNotNull("Bukkit should not be null " + nms, bukkit);
|
||||
assertNotNull(bukkit, "Bukkit should not be null " + nms);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.Map;
|
||||
import net.minecraft.world.level.GameRules;
|
||||
import org.bukkit.craftbukkit.CraftWorld;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class GameRuleTest {
|
||||
|
||||
@ -14,8 +14,8 @@ public class GameRuleTest {
|
||||
|
||||
for (GameRule<?> rule : rules) {
|
||||
GameRule<?> registeredRule = GameRule.getByName(rule.getName());
|
||||
Assert.assertNotNull("Null GameRule", registeredRule);
|
||||
Assert.assertEquals("Invalid GameRule equality", rule, registeredRule);
|
||||
assertNotNull(registeredRule, "Null GameRule");
|
||||
assertEquals(rule, registeredRule, "Invalid GameRule equality");
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,31 +26,31 @@ public class GameRuleTest {
|
||||
for (Map.Entry<String, GameRules.GameRuleKey<?>> entry : minecraftRules.entrySet()) {
|
||||
GameRule<?> bukkitRule = GameRule.getByName(entry.getKey());
|
||||
|
||||
Assert.assertNotNull("Missing " + entry.getKey(), bukkitRule);
|
||||
Assert.assertEquals("Invalid GameRule Name", bukkitRule.getName(), entry.getKey());
|
||||
assertNotNull(bukkitRule, "Missing " + entry.getKey());
|
||||
assertEquals(bukkitRule.getName(), entry.getKey(), "Invalid GameRule Name");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(expected = NullPointerException.class)
|
||||
@Test
|
||||
public void nullGameRuleName() {
|
||||
GameRule.getByName(null);
|
||||
assertThrows(NullPointerException.class, () -> GameRule.getByName(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void emptyGameRuleName() {
|
||||
Assert.assertNull(GameRule.getByName(""));
|
||||
assertNull(GameRule.getByName(""));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void incorrectGameRuleName() {
|
||||
Assert.assertNull(GameRule.getByName("doAnnounceAdvancements"));
|
||||
Assert.assertNull(GameRule.getByName("sendCommandBlockFeedback"));
|
||||
assertNull(GameRule.getByName("doAnnounceAdvancements"));
|
||||
assertNull(GameRule.getByName("sendCommandBlockFeedback"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void invalidCasing() {
|
||||
Assert.assertNull(GameRule.getByName("CommandBlockOutput"));
|
||||
Assert.assertNull(GameRule.getByName("spAwnRadius"));
|
||||
Assert.assertNull(GameRule.getByName("rand0mTickSpeEd"));
|
||||
assertNull(GameRule.getByName("CommandBlockOutput"));
|
||||
assertNull(GameRule.getByName("spAwnRadius"));
|
||||
assertNull(GameRule.getByName("rand0mTickSpeEd"));
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.loot.LootTable;
|
||||
import org.bukkit.loot.LootTables;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class LootTablesTest extends AbstractTestingBase {
|
||||
|
||||
@ -17,8 +17,8 @@ public class LootTablesTest extends AbstractTestingBase {
|
||||
for (LootTables table : tables) {
|
||||
LootTable lootTable = Bukkit.getLootTable(table.getKey());
|
||||
|
||||
Assert.assertNotNull("Unknown LootTable " + table.getKey(), lootTable);
|
||||
Assert.assertEquals(lootTable.getKey(), table.getKey());
|
||||
assertNotNull(lootTable, "Unknown LootTable " + table.getKey());
|
||||
assertEquals(lootTable.getKey(), table.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,8 +28,8 @@ public class LootTablesTest extends AbstractTestingBase {
|
||||
NamespacedKey bukkitKey = CraftNamespacedKey.fromMinecraft(key);
|
||||
LootTables lootTable = Registry.LOOT_TABLES.get(bukkitKey);
|
||||
|
||||
Assert.assertNotNull("Unknown LootTable " + key, lootTable);
|
||||
Assert.assertEquals(lootTable.getKey(), bukkitKey);
|
||||
assertNotNull(lootTable, "Unknown LootTable " + key);
|
||||
assertEquals(lootTable.getKey(), bukkitKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
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.Maps;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -16,7 +17,7 @@ import net.minecraft.resources.MinecraftKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class MaterialTest extends AbstractTestingBase {
|
||||
|
||||
@ -42,8 +43,8 @@ public class MaterialTest extends AbstractTestingBase {
|
||||
|
||||
Material material = materials.remove(id);
|
||||
|
||||
assertThat("Missing " + name + "(" + id + ")", material, is(not(nullValue())));
|
||||
assertNotNull("No item mapping for " + name, CraftMagicNumbers.getMaterial(item));
|
||||
assertThat(material, is(not(nullValue())), "Missing " + name + "(" + id + ")");
|
||||
assertNotNull(CraftMagicNumbers.getMaterial(item), "No item mapping for " + name);
|
||||
}
|
||||
|
||||
assertThat(materials, is(Collections.EMPTY_MAP));
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.craftbukkit.CraftParticle;
|
||||
@ -7,8 +8,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ParticleTest extends AbstractTestingBase {
|
||||
|
||||
@ -34,10 +34,10 @@ public class ParticleTest extends AbstractTestingBase {
|
||||
data = 0;
|
||||
}
|
||||
|
||||
Assert.assertNotNull("Missing Bukkit->NMS particle mapping for " + bukkit, CraftParticle.toNMS(bukkit, data));
|
||||
assertNotNull(CraftParticle.toNMS(bukkit, data), "Missing Bukkit->NMS particle mapping for " + bukkit);
|
||||
}
|
||||
for (net.minecraft.core.particles.Particle nms : BuiltInRegistries.PARTICLE_TYPE) {
|
||||
Assert.assertNotNull("Missing NMS->Bukkit particle mapping for " + BuiltInRegistries.PARTICLE_TYPE.getKey(nms), CraftParticle.minecraftToBukkit(nms));
|
||||
assertNotNull(CraftParticle.minecraftToBukkit(nms), "Missing NMS->Bukkit particle mapping for " + BuiltInRegistries.PARTICLE_TYPE.getKey(nms));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.List;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.Map;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.world.EnumHand;
|
||||
@ -29,44 +28,29 @@ import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.BeforeClass;
|
||||
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.BeforeAll;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.EnumSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class PerMaterialTest extends AbstractTestingBase {
|
||||
private static Map<Block, Integer> fireValues;
|
||||
|
||||
@BeforeClass
|
||||
@BeforeAll
|
||||
public static void getFireValues() {
|
||||
fireValues = ((BlockFire) Blocks.FIRE).igniteOdds;
|
||||
}
|
||||
|
||||
@Parameters(name = "{index}: {0}")
|
||||
public static List<Object[]> data() {
|
||||
List<Object[]> list = Lists.newArrayList();
|
||||
for (Material material : Material.values()) {
|
||||
if (!material.isLegacy()) {
|
||||
list.add(new Object[] {material});
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Parameter public Material material;
|
||||
|
||||
@Test
|
||||
public void isBlock() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isBlock(Material material) {
|
||||
if (material != Material.AIR && material != Material.CAVE_AIR && material != Material.VOID_AIR) {
|
||||
assertThat(material.isBlock(), is(not(CraftMagicNumbers.getBlock(material) == null)));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSolid() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isSolid(Material material) {
|
||||
if (material == Material.AIR) {
|
||||
assertFalse(material.isSolid());
|
||||
} else if (material.isBlock()) {
|
||||
@ -76,8 +60,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isEdible() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = ".LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isEdible(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertFalse(material.isEdible());
|
||||
} else {
|
||||
@ -85,13 +70,15 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isRecord() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isRecord(Material material) {
|
||||
assertThat(material.isRecord(), is(CraftMagicNumbers.getItem(material) instanceof ItemRecord));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void maxDurability() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void maxDurability(Material material) {
|
||||
if (INVALIDATED_MATERIALS.contains(material)) return;
|
||||
|
||||
if (material == Material.AIR) {
|
||||
@ -102,8 +89,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void maxStackSize() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void maxStackSize(Material material) {
|
||||
if (INVALIDATED_MATERIALS.contains(material)) return;
|
||||
|
||||
final ItemStack bukkit = new ItemStack(material);
|
||||
@ -120,8 +108,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isTransparent() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isTransparent(Material material) {
|
||||
if (material == Material.AIR) {
|
||||
assertTrue(material.isTransparent());
|
||||
} else if (material.isBlock()) {
|
||||
@ -131,8 +120,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isFlammable() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isFlammable(Material material) {
|
||||
if (material != Material.AIR && material.isBlock()) {
|
||||
assertThat(material.isFlammable(), is(CraftMagicNumbers.getBlock(material).defaultBlockState().ignitedByLava()));
|
||||
} else {
|
||||
@ -140,8 +130,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isBurnable() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isBurnable(Material material) {
|
||||
if (material.isBlock()) {
|
||||
Block block = CraftMagicNumbers.getBlock(material);
|
||||
assertThat(material.isBurnable(), is(fireValues.containsKey(block) && fireValues.get(block) > 0));
|
||||
@ -150,8 +141,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isFuel() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isFuel(Material material) {
|
||||
if (material.isItem()) {
|
||||
assertThat(material.isFuel(), is(TileEntityFurnace.isFuel(new net.minecraft.world.item.ItemStack(CraftMagicNumbers.getItem(material)))));
|
||||
} else {
|
||||
@ -159,8 +151,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isOccluding() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void isOccluding(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.isOccluding(), is(CraftMagicNumbers.getBlock(material).defaultBlockState().isRedstoneConductor(BlockAccessAir.INSTANCE, BlockPosition.ZERO)));
|
||||
} else {
|
||||
@ -168,8 +161,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hasGravity() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void hasGravity(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.hasGravity(), is(CraftMagicNumbers.getBlock(material) instanceof BlockFalling));
|
||||
} else {
|
||||
@ -177,8 +171,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void usesDurability() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void usesDurability(Material material) {
|
||||
if (!material.isBlock()) {
|
||||
assertThat(EnchantmentTarget.BREAKABLE.includes(material), is(CraftMagicNumbers.getItem(material).canBeDepleted()));
|
||||
} else {
|
||||
@ -186,8 +181,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDurability() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testDurability(Material material) {
|
||||
if (!material.isBlock()) {
|
||||
assertThat(material.getMaxDurability(), is((short) CraftMagicNumbers.getItem(material).getMaxDamage()));
|
||||
} else {
|
||||
@ -195,8 +191,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlock() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testBlock(Material material) {
|
||||
if (material == Material.AIR) {
|
||||
assertTrue(material.isBlock());
|
||||
} else {
|
||||
@ -204,8 +201,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAir() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testAir(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.isAir(), is(equalTo(CraftMagicNumbers.getBlock(material).defaultBlockState().isAir())));
|
||||
} else {
|
||||
@ -213,8 +211,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testItem() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testItem(Material material) {
|
||||
if (material == Material.AIR) {
|
||||
assertTrue(material.isItem());
|
||||
} else {
|
||||
@ -222,8 +221,9 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInteractable() throws ReflectiveOperationException {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testInteractable(Material material) throws ReflectiveOperationException {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.isInteractable(),
|
||||
is(!CraftMagicNumbers.getBlock(material).getClass()
|
||||
@ -234,36 +234,41 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlockHardness() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testBlockHardness(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.getHardness(), is(CraftMagicNumbers.getBlock(material).defaultBlockState().destroySpeed));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlastResistance() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testBlastResistance(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.getBlastResistance(), is(CraftMagicNumbers.getBlock(material).getExplosionResistance()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSlipperiness() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testSlipperiness(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertThat(material.getSlipperiness(), is(CraftMagicNumbers.getBlock(material).getFriction()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlockDataCreation() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testBlockDataCreation(Material material) {
|
||||
if (material.isBlock()) {
|
||||
assertNotNull(material.createBlockData());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCraftingRemainingItem() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testCraftingRemainingItem(Material material) {
|
||||
if (material.isItem()) {
|
||||
Item expectedItem = CraftMagicNumbers.getItem(material).getCraftingRemainingItem();
|
||||
Material expected = expectedItem == null ? null : CraftMagicNumbers.getMaterial(expectedItem);
|
||||
@ -272,27 +277,30 @@ public class PerMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEquipmentSlot() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testEquipmentSlot(Material material) {
|
||||
if (material.isItem()) {
|
||||
EquipmentSlot expected = CraftEquipmentSlot.getSlot(EntityInsentient.getEquipmentSlotForItem(CraftItemStack.asNMSCopy(new ItemStack(material))));
|
||||
assertThat(material.getEquipmentSlot(), is(expected));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBlockDataClass() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testBlockDataClass(Material material) {
|
||||
if (material.isBlock()) {
|
||||
Class<?> expectedClass = material.data;
|
||||
if (expectedClass != MaterialData.class) {
|
||||
BlockData blockData = Bukkit.createBlockData(material);
|
||||
assertTrue(expectedClass + " <> " + blockData.getClass(), expectedClass.isInstance(blockData));
|
||||
assertTrue(expectedClass.isInstance(blockData), expectedClass + " <> " + blockData.getClass());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreativeCategory() {
|
||||
@ParameterizedTest
|
||||
@EnumSource(value = Material.class, names = "LEGACY_.*", mode = EnumSource.Mode.MATCH_NONE)
|
||||
public void testCreativeCategory(Material material) {
|
||||
if (material.isItem()) {
|
||||
material.getCreativeCategory();
|
||||
}
|
||||
|
@ -1,32 +1,29 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import com.google.common.collect.Lists;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.craftbukkit.CraftRegistry;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
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.BeforeAll;
|
||||
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 PerRegistryTest extends AbstractTestingBase {
|
||||
|
||||
private static Random random;
|
||||
|
||||
@BeforeClass
|
||||
@BeforeAll
|
||||
public static void init() {
|
||||
random = new Random();
|
||||
}
|
||||
|
||||
@Parameters(name = "{index}: {0}")
|
||||
public static List<Object[]> data() {
|
||||
List<Object[]> data = Lists.newArrayList();
|
||||
public static Stream<Arguments> data() {
|
||||
List<Arguments> data = Lists.newArrayList();
|
||||
|
||||
Field[] registryFields = Registry.class.getFields();
|
||||
for (Field registryField : registryFields) {
|
||||
@ -37,42 +34,42 @@ public class PerRegistryTest extends AbstractTestingBase {
|
||||
continue;
|
||||
}
|
||||
|
||||
data.add(new Object[] {registry});
|
||||
data.add(Arguments.of(registry));
|
||||
} catch (ReflectiveOperationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
return data.stream();
|
||||
}
|
||||
|
||||
@Parameter public Registry<? extends Keyed> registry;
|
||||
|
||||
@Test
|
||||
public void testGet() {
|
||||
this.registry.forEach(element -> {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testGet(Registry<?> registry) {
|
||||
registry.forEach(element -> {
|
||||
// Values in the registry should be referentially equal to what is returned with #get()
|
||||
// This ensures that new instances are not created each time #get() is invoked
|
||||
Assert.assertSame(element, registry.get(element.getKey()));
|
||||
assertSame(element, registry.get(element.getKey()));
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMatch() {
|
||||
this.registry.forEach(element -> {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testMatch(Registry<?> registry) {
|
||||
registry.forEach(element -> {
|
||||
NamespacedKey key = element.getKey();
|
||||
|
||||
assertSameMatchWithKeyMessage(element, key.toString()); // namespace:key
|
||||
assertSameMatchWithKeyMessage(element, key.getKey()); // key
|
||||
assertSameMatchWithKeyMessage(element, key.toString().replace('_', ' ')); // namespace:key with space
|
||||
assertSameMatchWithKeyMessage(element, key.getKey().replace('_', ' ')); // key with space
|
||||
assertSameMatchWithKeyMessage(element, randomizeCase(key.toString())); // nAmeSPaCe:kEY
|
||||
assertSameMatchWithKeyMessage(element, randomizeCase(key.getKey())); // kEy
|
||||
assertSameMatchWithKeyMessage(registry, element, key.toString()); // namespace:key
|
||||
assertSameMatchWithKeyMessage(registry, element, key.getKey()); // key
|
||||
assertSameMatchWithKeyMessage(registry, element, key.toString().replace('_', ' ')); // namespace:key with space
|
||||
assertSameMatchWithKeyMessage(registry, element, key.getKey().replace('_', ' ')); // key with space
|
||||
assertSameMatchWithKeyMessage(registry, element, randomizeCase(key.toString())); // nAmeSPaCe:kEY
|
||||
assertSameMatchWithKeyMessage(registry, element, randomizeCase(key.getKey())); // kEy
|
||||
});
|
||||
}
|
||||
|
||||
private void assertSameMatchWithKeyMessage(Keyed element, String key) {
|
||||
Assert.assertSame(key, element, registry.match(key));
|
||||
private void assertSameMatchWithKeyMessage(Registry<?> registry, Keyed element, String key) {
|
||||
assertSame(element, registry.match(key), key);
|
||||
}
|
||||
|
||||
private String randomizeCase(String input) {
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
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.Lists;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -10,7 +11,7 @@ import net.minecraft.resources.MinecraftKey;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PotionEffectTypeTest extends AbstractTestingBase {
|
||||
|
||||
@ -23,11 +24,11 @@ public class PotionEffectTypeTest extends AbstractTestingBase {
|
||||
PotionEffectType effect = PotionEffectType.getByKey(CraftNamespacedKey.fromMinecraft(key));
|
||||
|
||||
String message = String.format("org.bukkit.PotionEffectType is missing '%s'", name);
|
||||
assertNotNull(message, effect);
|
||||
assertNotNull(effect, message);
|
||||
|
||||
effects.remove(effect);
|
||||
}
|
||||
|
||||
assertThat("org.bukkit.PotionEffectType has too many effects", effects, is(Collections.EMPTY_LIST));
|
||||
assertThat(effects, is(Collections.EMPTY_LIST), "org.bukkit.PotionEffectType has too many effects");
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayList;
|
||||
@ -12,8 +13,7 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.inventory.meta.trim.TrimMaterial;
|
||||
import org.bukkit.inventory.meta.trim.TrimPattern;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class RegistryConstantsTest extends AbstractTestingBase {
|
||||
|
||||
@ -45,7 +45,7 @@ public class RegistryConstantsTest extends AbstractTestingBase {
|
||||
|
||||
}
|
||||
|
||||
Assert.assertTrue(excessKeys.size() + " excess constants(s) in " + clazz.getSimpleName() + " that do not exist: " + excessKeys, excessKeys.isEmpty());
|
||||
assertTrue(excessKeys.isEmpty(), excessKeys.size() + " excess constants(s) in " + clazz.getSimpleName() + " that do not exist: " + excessKeys);
|
||||
}
|
||||
|
||||
private <T extends Keyed, M> void testMissingConstants(Class<T> clazz, ResourceKey<IRegistry<M>> nmsRegistryKey) {
|
||||
@ -59,14 +59,14 @@ public class RegistryConstantsTest extends AbstractTestingBase {
|
||||
@SuppressWarnings("unchecked")
|
||||
T bukkitObject = (T) clazz.getField(minecraftKey.getPath().toUpperCase()).get(null);
|
||||
|
||||
Assert.assertEquals("Keys are not the same for " + minecraftKey, minecraftKey, CraftNamespacedKey.toMinecraft(bukkitObject.getKey()));
|
||||
assertEquals(minecraftKey, CraftNamespacedKey.toMinecraft(bukkitObject.getKey()), "Keys are not the same for " + minecraftKey);
|
||||
} catch (NoSuchFieldException e) {
|
||||
missingKeys.add(minecraftKey);
|
||||
} catch (Exception e) {
|
||||
Assert.fail(e.getMessage());
|
||||
fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertTrue("Missing (" + missingKeys.size() + ") constants in " + clazz.getSimpleName() + ": " + missingKeys, missingKeys.isEmpty());
|
||||
assertTrue(missingKeys.isEmpty(), "Missing (" + missingKeys.size() + ") constants in " + clazz.getSimpleName() + ": " + missingKeys);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +1,41 @@
|
||||
package org.bukkit;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import org.bukkit.craftbukkit.CraftSound;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class SoundTest extends AbstractTestingBase {
|
||||
|
||||
@Test
|
||||
public void testGetSound() {
|
||||
for (Sound sound : Sound.values()) {
|
||||
assertThat(sound.name(), CraftSound.bukkitToMinecraft(sound), is(not(nullValue())));
|
||||
assertThat(CraftSound.bukkitToMinecraft(sound), is(not(nullValue())), sound.name());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReverse() {
|
||||
for (MinecraftKey effect : BuiltInRegistries.SOUND_EVENT.keySet()) {
|
||||
assertNotNull(effect + "", Sound.valueOf(effect.getPath().replace('.', '_').toUpperCase(java.util.Locale.ENGLISH)));
|
||||
assertNotNull(Sound.valueOf(effect.getPath().replace('.', '_').toUpperCase(java.util.Locale.ENGLISH)), effect + "");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCategory() {
|
||||
for (SoundCategory category : SoundCategory.values()) {
|
||||
assertNotNull(category + "", net.minecraft.sounds.SoundCategory.valueOf(category.name()));
|
||||
assertNotNull(net.minecraft.sounds.SoundCategory.valueOf(category.name()), category + "");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCategoryReverse() {
|
||||
for (net.minecraft.sounds.SoundCategory category : net.minecraft.sounds.SoundCategory.values()) {
|
||||
assertNotNull(category + "", SoundCategory.valueOf(category.name()));
|
||||
assertNotNull(SoundCategory.valueOf(category.name()), category + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit;
|
||||
|
||||
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.HashMultiset;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.stats.StatisticWrapper;
|
||||
@ -9,7 +10,7 @@ import net.minecraft.world.entity.EntityTypes;
|
||||
import org.bukkit.craftbukkit.CraftStatistic;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class StatisticsAndAchievementsTest extends AbstractTestingBase {
|
||||
|
||||
@ -20,7 +21,7 @@ public class StatisticsAndAchievementsTest extends AbstractTestingBase {
|
||||
if (statistic.getType() == Statistic.Type.ENTITY) {
|
||||
for (EntityType entity : EntityType.values()) {
|
||||
if (entity.getName() != null) {
|
||||
assertNotNull(statistic + " missing for " + entity, CraftStatistic.getEntityStatistic(statistic, entity));
|
||||
assertNotNull(CraftStatistic.getEntityStatistic(statistic, entity), statistic + " missing for " + entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -37,12 +38,12 @@ public class StatisticsAndAchievementsTest extends AbstractTestingBase {
|
||||
String message = String.format("org.bukkit.Statistic is missing: '%s'", statistic);
|
||||
|
||||
Statistic subject = CraftStatistic.getBukkitStatistic(statistic);
|
||||
assertThat(message, subject, is(not(nullValue())));
|
||||
assertThat(subject, is(not(nullValue())), message);
|
||||
|
||||
if (wrapper.getRegistry() == BuiltInRegistries.BLOCK || wrapper.getRegistry() == BuiltInRegistries.ITEM) {
|
||||
assertNotNull("Material type map missing for " + wrapper.getRegistry().getKey(child), CraftStatistic.getMaterialFromStatistic(statistic));
|
||||
assertNotNull(CraftStatistic.getMaterialFromStatistic(statistic), "Material type map missing for " + wrapper.getRegistry().getKey(child));
|
||||
} else if (wrapper.getRegistry() == BuiltInRegistries.ENTITY_TYPE) {
|
||||
assertNotNull("Entity type map missing for " + EntityTypes.getKey((EntityTypes<?>) child), CraftStatistic.getEntityTypeFromStatistic((net.minecraft.stats.Statistic<EntityTypes<?>>) statistic));
|
||||
assertNotNull(CraftStatistic.getEntityTypeFromStatistic((net.minecraft.stats.Statistic<EntityTypes<?>>) statistic), "Entity type map missing for " + EntityTypes.getKey((EntityTypes<?>) child));
|
||||
}
|
||||
|
||||
statistics.add(subject);
|
||||
@ -51,7 +52,7 @@ public class StatisticsAndAchievementsTest extends AbstractTestingBase {
|
||||
|
||||
for (Statistic statistic : Statistic.values()) {
|
||||
String message = String.format("org.bukkit.Statistic.%s does not have a corresponding minecraft statistic", statistic.name());
|
||||
assertThat(message, statistics.remove(statistic, statistics.count(statistic)), is(greaterThan(0)));
|
||||
assertThat(statistics.remove(statistic, statistics.count(statistic)), is(greaterThan(0)), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package org.bukkit.block.banner;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.level.block.entity.EnumBannerPatternType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PatternTypeTest extends AbstractTestingBase {
|
||||
|
||||
@ -13,7 +13,7 @@ public class PatternTypeTest extends AbstractTestingBase {
|
||||
for (EnumBannerPatternType nms : BuiltInRegistries.BANNER_PATTERN) {
|
||||
PatternType bukkit = PatternType.getByIdentifier(nms.getHashname());
|
||||
|
||||
Assert.assertNotNull("No Bukkit banner for " + nms + " " + nms.getHashname(), bukkit);
|
||||
assertNotNull(bukkit, "No Bukkit banner for " + nms + " " + nms.getHashname());
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ public class PatternTypeTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertNotNull("No NMS banner for " + bukkit + " " + bukkit.getIdentifier(), found);
|
||||
assertNotNull(found, "No NMS banner for " + bukkit + " " + bukkit.getIdentifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
package org.bukkit.craftbukkit;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import org.bukkit.HeightMap;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class HeightMapTest {
|
||||
|
||||
@Test
|
||||
public void heightMapConversionFromNMSToBukkitShouldNotThrowExceptio() {
|
||||
for (net.minecraft.world.level.levelgen.HeightMap.Type nmsHeightMapType : net.minecraft.world.level.levelgen.HeightMap.Type.values()) {
|
||||
Assert.assertNotNull("fromNMS", CraftHeightMap.fromNMS(nmsHeightMapType));
|
||||
assertNotNull(CraftHeightMap.fromNMS(nmsHeightMapType), "fromNMS");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void heightMapConversionFromBukkitToNMSShouldNotThrowExceptio() {
|
||||
for (HeightMap bukkitHeightMap : HeightMap.values()) {
|
||||
Assert.assertNotNull("toNMS", CraftHeightMap.toNMS(bukkitHeightMap));
|
||||
assertNotNull(CraftHeightMap.toNMS(bukkitHeightMap), "toNMS");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit.craftbukkit.attribute;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeBase;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class AttributeTest extends AbstractTestingBase {
|
||||
|
||||
@ -14,7 +14,7 @@ public class AttributeTest extends AbstractTestingBase {
|
||||
for (AttributeBase nms : BuiltInRegistries.ATTRIBUTE) {
|
||||
Attribute bukkit = CraftAttribute.minecraftToBukkit(nms);
|
||||
|
||||
Assert.assertNotNull(nms.toString(), bukkit);
|
||||
assertNotNull(bukkit, nms.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ public class AttributeTest extends AbstractTestingBase {
|
||||
for (Attribute attribute : Attribute.values()) {
|
||||
AttributeBase nms = CraftAttribute.bukkitToMinecraft(attribute);
|
||||
|
||||
Assert.assertNotNull(attribute.name(), nms);
|
||||
assertNotNull(nms, attribute.name());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,6 @@
|
||||
package org.bukkit.craftbukkit.block;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@ -12,7 +9,7 @@ import net.minecraft.world.level.block.entity.TileEntity;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class BlockStateTest extends AbstractTestingBase {
|
||||
|
||||
@ -24,7 +21,7 @@ public class BlockStateTest extends AbstractTestingBase {
|
||||
boolean isCraftBlockEntityState = CraftBlockEntityState.class.isAssignableFrom(blockStateType);
|
||||
|
||||
if (block instanceof ITileEntity) {
|
||||
assertTrue(material + " has BlockState of type " + blockStateType.getName() + ", but expected subtype of CraftBlockEntityState", isCraftBlockEntityState);
|
||||
assertTrue(isCraftBlockEntityState, material + " has BlockState of type " + blockStateType.getName() + ", but expected subtype of CraftBlockEntityState");
|
||||
|
||||
// check tile entity type
|
||||
TileEntity tileEntity = ((ITileEntity) block).newBlockEntity(BlockPosition.ZERO, block.defaultBlockState());
|
||||
@ -37,10 +34,10 @@ public class BlockStateTest extends AbstractTestingBase {
|
||||
fail(material + " has no tile entity, it be added to CraftBlockStates#isTileEntityOptional");
|
||||
}
|
||||
|
||||
assertNotNull(material + " has no tile entity expected tile entity of type " + tileEntity.getClass(), materialTileEntity);
|
||||
assertSame(material + " has unexpected tile entity type, expected " + tileEntity.getClass() + " but got " + tileEntity.getClass(), materialTileEntity.getClass(), tileEntity.getClass());
|
||||
assertNotNull(materialTileEntity, material + " has no tile entity expected tile entity of type " + tileEntity.getClass());
|
||||
assertSame(materialTileEntity.getClass(), tileEntity.getClass(), material + " has unexpected tile entity type, expected " + tileEntity.getClass() + " but got " + tileEntity.getClass());
|
||||
} else {
|
||||
assertTrue(material + " has unexpected CraftBlockEntityState subytype " + blockStateType.getName() + " (but is not a tile)", !isCraftBlockEntityState);
|
||||
assertFalse(isCraftBlockEntityState, material + " has unexpected CraftBlockEntityState subytype " + blockStateType.getName() + " (but is not a tile)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package org.bukkit.craftbukkit.generator;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ChunkDataTest extends AbstractTestingBase {
|
||||
|
||||
@ -35,28 +35,28 @@ public class ChunkDataTest extends AbstractTestingBase {
|
||||
@Test
|
||||
public void testMinHeight() {
|
||||
OldCraftChunkData data = new OldCraftChunkData(-128, 128, BIOMES);
|
||||
assertTrue("Could not set block below min height", testSetBlock(data, 0, -256, 0, RED_WOOL, AIR));
|
||||
assertTrue("Could set block above min height", testSetBlock(data, 0, -64, 0, RED_WOOL, RED_WOOL));
|
||||
assertTrue(testSetBlock(data, 0, -256, 0, RED_WOOL, AIR), "Could not set block below min height");
|
||||
assertTrue(testSetBlock(data, 0, -64, 0, RED_WOOL, RED_WOOL), "Could set block above min height");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaxHeight() {
|
||||
OldCraftChunkData data = new OldCraftChunkData(0, 128, BIOMES);
|
||||
assertTrue("Could not set block above max height", testSetBlock(data, 0, 128, 0, RED_WOOL, AIR));
|
||||
assertTrue("Could set block below max height", testSetBlock(data, 0, 127, 0, RED_WOOL, RED_WOOL));
|
||||
assertTrue(testSetBlock(data, 0, 128, 0, RED_WOOL, AIR), "Could not set block above max height");
|
||||
assertTrue(testSetBlock(data, 0, 127, 0, RED_WOOL, RED_WOOL), "Could set block below max height");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBoundsCheckingSingle() {
|
||||
OldCraftChunkData data = new OldCraftChunkData(0, 256, BIOMES);
|
||||
assertTrue("Can set block inside chunk bounds", testSetBlock(data, 0, 0, 0, RED_WOOL, RED_WOOL));
|
||||
assertTrue("Can set block inside chunk bounds", testSetBlock(data, 15, 255, 15, RED_WOOL, RED_WOOL));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, -1, 0, 0, RED_WOOL, AIR));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, 0, -1, 0, RED_WOOL, AIR));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, 0, 0, -1, RED_WOOL, AIR));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, 16, 0, 0, RED_WOOL, AIR));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, 0, 256, 0, RED_WOOL, AIR));
|
||||
assertTrue("Can no set block outside chunk bounds", testSetBlock(data, 0, 0, 16, RED_WOOL, AIR));
|
||||
assertTrue(testSetBlock(data, 0, 0, 0, RED_WOOL, RED_WOOL), "Can set block inside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 15, 255, 15, RED_WOOL, RED_WOOL), "Can set block inside chunk bounds");
|
||||
assertTrue(testSetBlock(data, -1, 0, 0, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 0, -1, 0, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 0, 0, -1, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 16, 0, 0, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 0, 256, 0, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
assertTrue(testSetBlock(data, 0, 0, 16, RED_WOOL, AIR), "Can no set block outside chunk bounds");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,7 +1,7 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -13,7 +13,7 @@ import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class CompositeSerialization extends AbstractTestingBase {
|
||||
|
||||
@ -63,7 +63,7 @@ public class CompositeSerialization extends AbstractTestingBase {
|
||||
assertThat(stacks, hasSize(raw.size()));
|
||||
|
||||
for (int i = 0; i < raw.size(); i++) {
|
||||
assertThat(String.valueOf(i), (Object) stacks.get(i), is((Object) raw.get(i)));
|
||||
assertThat((Object) stacks.get(i), is((Object) raw.get(i)), String.valueOf(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.io.StringReader;
|
||||
import java.lang.reflect.Array;
|
||||
import java.nio.ByteBuffer;
|
||||
@ -18,52 +18,52 @@ import org.bukkit.inventory.meta.tags.CustomItemTagContainer;
|
||||
import org.bukkit.inventory.meta.tags.ItemTagAdapterContext;
|
||||
import org.bukkit.inventory.meta.tags.ItemTagType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class DeprecatedItemMetaCustomValueTest extends AbstractTestingBase {
|
||||
|
||||
private static NamespacedKey VALID_KEY;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
@BeforeAll
|
||||
public static void setup() {
|
||||
VALID_KEY = new NamespacedKey("test", "validkey");
|
||||
}
|
||||
|
||||
/*
|
||||
Sets a test
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testSetNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getCustomTagContainer().setCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class), true);
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getCustomTagContainer().setCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class), true));
|
||||
}
|
||||
|
||||
/*
|
||||
Contains a tag
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testHasNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getCustomTagContainer().setCustomTag(VALID_KEY, ItemTagType.INTEGER, 1); // We gotta set this so we at least try to compare it
|
||||
itemMeta.getCustomTagContainer().hasCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class));
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getCustomTagContainer().hasCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class)));
|
||||
}
|
||||
|
||||
/*
|
||||
Getting a tag
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testGetNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getCustomTagContainer().setCustomTag(VALID_KEY, ItemTagType.INTEGER, 1); //We gotta set this so we at least try to compare it
|
||||
itemMeta.getCustomTagContainer().getCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class));
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getCustomTagContainer().getCustomTag(VALID_KEY, new PrimitiveTagType<>(boolean.class)));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testGetWrongType() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getCustomTagContainer().setCustomTag(VALID_KEY, ItemTagType.INTEGER, 1);
|
||||
itemMeta.getCustomTagContainer().getCustomTag(VALID_KEY, ItemTagType.STRING);
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getCustomTagContainer().getCustomTag(VALID_KEY, ItemTagType.STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,21 +1,20 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemFactory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
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.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
static final ItemFactory factory = CraftItemFactory.instance();
|
||||
static final StringBuilder buffer = new StringBuilder();
|
||||
@ -41,19 +40,17 @@ public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
return buffer.delete(0, Integer.MAX_VALUE).append(from.getClass().getName()).append('(').append(from.name()).append(") to ").append(to.getClass().getName()).append('(').append(to.name()).append(')').toString();
|
||||
}
|
||||
|
||||
@Parameters(name = "Material[{index}]:{0}")
|
||||
public static List<Object[]> data() {
|
||||
List<Object[]> list = new ArrayList<Object[]>();
|
||||
public static Stream<Arguments> data() {
|
||||
List<Arguments> list = new ArrayList<>();
|
||||
for (Material material : materials) {
|
||||
list.add(new Object[] {material});
|
||||
list.add(Arguments.of(material));
|
||||
}
|
||||
return list;
|
||||
return list.stream();
|
||||
}
|
||||
|
||||
@Parameter(0) public Material material;
|
||||
|
||||
@Test
|
||||
public void itemStack() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void itemStack(Material material) {
|
||||
ItemStack bukkitStack = new ItemStack(material);
|
||||
CraftItemStack craftStack = CraftItemStack.asCraftCopy(bukkitStack);
|
||||
ItemMeta meta = factory.getItemMeta(material);
|
||||
@ -65,8 +62,9 @@ public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generalCase() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void generalCase(Material material) {
|
||||
CraftMetaItem meta = (CraftMetaItem) factory.getItemMeta(material);
|
||||
if (meta == null) {
|
||||
assertThat(material, is(Material.AIR));
|
||||
@ -80,8 +78,9 @@ public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void asMetaFor() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void asMetaFor(Material material) {
|
||||
final CraftMetaItem baseMeta = (CraftMetaItem) factory.getItemMeta(material);
|
||||
if (baseMeta == null) {
|
||||
assertThat(material, is(Material.AIR));
|
||||
@ -96,19 +95,20 @@ public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
final String testName = name(material, other);
|
||||
|
||||
if (otherMeta == null) {
|
||||
assertThat(testName, other, is(Material.AIR));
|
||||
assertThat(other, is(Material.AIR), testName);
|
||||
continue;
|
||||
}
|
||||
|
||||
assertTrue(testName, factory.isApplicable(otherMeta, craftStack));
|
||||
assertTrue(testName, factory.isApplicable(otherMeta, bukkitStack));
|
||||
assertTrue(testName, factory.isApplicable(otherMeta, other));
|
||||
assertTrue(testName, otherMeta.applicableTo(other));
|
||||
assertTrue(factory.isApplicable(otherMeta, craftStack), testName);
|
||||
assertTrue(factory.isApplicable(otherMeta, bukkitStack), testName);
|
||||
assertTrue(factory.isApplicable(otherMeta, other), testName);
|
||||
assertTrue(otherMeta.applicableTo(other), testName);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void blankEqualities() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void blankEqualities(Material material) {
|
||||
if (material == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
@ -137,17 +137,17 @@ public class FactoryItemMaterialTest extends AbstractTestingBase {
|
||||
final CraftMetaItem otherMeta = (CraftMetaItem) factory.asMetaFor(baseMetaClone, other);
|
||||
|
||||
if (otherMeta == null) {
|
||||
assertThat(testName, other, is(Material.AIR));
|
||||
assertThat(other, is(Material.AIR), testName);
|
||||
continue;
|
||||
}
|
||||
|
||||
assertTrue(testName, factory.equals(baseMeta, otherMeta));
|
||||
assertTrue(testName, factory.equals(otherMeta, baseMeta));
|
||||
assertTrue(factory.equals(baseMeta, otherMeta), testName);
|
||||
assertTrue(factory.equals(otherMeta, baseMeta), testName);
|
||||
|
||||
assertThat(testName, baseMeta, is(otherMeta));
|
||||
assertThat(testName, otherMeta, is(baseMeta));
|
||||
assertThat(baseMeta, is(otherMeta), testName);
|
||||
assertThat(otherMeta, is(baseMeta), testName);
|
||||
|
||||
assertThat(testName, baseMeta.hashCode(), is(otherMeta.hashCode()));
|
||||
assertThat(baseMeta.hashCode(), is(otherMeta.hashCode()), testName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.lang.reflect.Method;
|
||||
import org.bukkit.Material;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ItemMetaCloneTest {
|
||||
|
||||
@ -14,8 +15,8 @@ public class ItemMetaCloneTest {
|
||||
Class<?> clazz = CraftItemFactory.instance().getItemMeta(material).getClass();
|
||||
|
||||
Method clone = clazz.getDeclaredMethod("clone");
|
||||
assertNotNull("Class " + clazz + " does not override clone()", clone);
|
||||
assertThat("Class " + clazz + " clone return type does not match", clone.getReturnType(), is(equalTo(clazz)));
|
||||
assertNotNull(clone, "Class " + clazz + " does not override clone()");
|
||||
assertThat(clone.getReturnType(), is(equalTo(clazz)), "Class " + clazz + " clone return type does not match");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,24 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.serialization.DelegateDeserialization;
|
||||
import org.bukkit.craftbukkit.Overridden;
|
||||
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.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemMetaImplementationOverrideTest {
|
||||
static final Class<CraftMetaItem> parent = CraftMetaItem.class;
|
||||
|
||||
@Parameters(name = "[{index}]:{1}")
|
||||
public static List<Object[]> data() {
|
||||
final List<Object[]> testData = new ArrayList<Object[]>();
|
||||
public static Stream<Arguments> data() {
|
||||
final List<Arguments> testData = new ArrayList<>();
|
||||
List<Class<? extends CraftMetaItem>> classes = new ArrayList<Class<? extends CraftMetaItem>>();
|
||||
|
||||
for (Material material : ItemStackTest.COMPOUND_MATERIALS) {
|
||||
@ -42,7 +39,7 @@ public class ItemMetaImplementationOverrideTest {
|
||||
for (final Class<?> clazz : classes) {
|
||||
for (final Method method : list) {
|
||||
testData.add(
|
||||
new Object[] {
|
||||
Arguments.of(
|
||||
new Callable<Method>() {
|
||||
@Override
|
||||
public Method call() throws Exception {
|
||||
@ -50,12 +47,12 @@ public class ItemMetaImplementationOverrideTest {
|
||||
}
|
||||
},
|
||||
clazz.getSimpleName() + " contains " + method.getName()
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
testData.add(
|
||||
new Object[] {
|
||||
Arguments.of(
|
||||
new Callable<DelegateDeserialization>() {
|
||||
@Override
|
||||
public DelegateDeserialization call() throws Exception {
|
||||
@ -63,18 +60,16 @@ public class ItemMetaImplementationOverrideTest {
|
||||
}
|
||||
},
|
||||
clazz.getSimpleName() + " contains annotation " + DelegateDeserialization.class
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return testData;
|
||||
return testData.stream();
|
||||
}
|
||||
|
||||
@Parameter(0) public Callable<?> test;
|
||||
@Parameter(1) public String name;
|
||||
|
||||
@Test
|
||||
public void testClass() throws Throwable {
|
||||
assertThat(name, test.call(), is(not(nullValue())));
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testClass(Callable<?> test, String name) throws Throwable {
|
||||
assertThat(test.call(), is(not(nullValue())), name);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -61,30 +62,30 @@ import org.bukkit.potion.PotionData;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.potion.PotionType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ItemMetaTest extends AbstractTestingBase {
|
||||
|
||||
static final int MAX_FIREWORK_POWER = 127; // Please update ItemStackFireworkTest if/when this gets changed.
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testPowerLimitExact() {
|
||||
newFireworkMeta().setPower(MAX_FIREWORK_POWER + 1);
|
||||
assertThrows(IllegalArgumentException.class, () -> newFireworkMeta().setPower(MAX_FIREWORK_POWER + 1));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testPowerLimitMax() {
|
||||
newFireworkMeta().setPower(Integer.MAX_VALUE);
|
||||
assertThrows(IllegalArgumentException.class, () -> newFireworkMeta().setPower(Integer.MAX_VALUE));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testPowerLimitMin() {
|
||||
newFireworkMeta().setPower(Integer.MIN_VALUE);
|
||||
assertThrows(IllegalArgumentException.class, () -> newFireworkMeta().setPower(Integer.MIN_VALUE));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testPowerLimitNegative() {
|
||||
newFireworkMeta().setPower(-1);
|
||||
assertThrows(IllegalArgumentException.class, () -> newFireworkMeta().setPower(-1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -92,7 +93,7 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
for (int i = 0; i <= MAX_FIREWORK_POWER; i++) {
|
||||
FireworkMeta firework = newFireworkMeta();
|
||||
firework.setPower(i);
|
||||
assertThat(String.valueOf(i), firework.getPower(), is(i));
|
||||
assertThat(firework.getPower(), is(i), String.valueOf(i));
|
||||
}
|
||||
}
|
||||
|
||||
@ -152,7 +153,7 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
craft.setItemMeta(craft.getItemMeta());
|
||||
ItemStack bukkit = new ItemStack(craft);
|
||||
assertThat(craft, is(bukkit));
|
||||
assertThat(bukkit, is((ItemStack) craft));
|
||||
assertThat(bukkit, is(craft));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -179,14 +180,14 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
if (block instanceof ITileEntity) {
|
||||
assertTrue(stack + " has meta of type " + meta + " expected BlockStateMeta", meta instanceof BlockStateMeta);
|
||||
assertTrue(meta instanceof BlockStateMeta, stack + " has meta of type " + meta + " expected BlockStateMeta");
|
||||
|
||||
BlockStateMeta blockState = (BlockStateMeta) meta;
|
||||
assertNotNull(stack + " has null block state", blockState.getBlockState());
|
||||
assertNotNull(blockState.getBlockState(), stack + " has null block state");
|
||||
|
||||
blockState.setBlockState(blockState.getBlockState());
|
||||
} else {
|
||||
assertTrue(stack + " has unexpected meta of type BlockStateMeta (but is not a tile)", !(meta instanceof BlockStateMeta));
|
||||
assertFalse(meta instanceof BlockStateMeta, stack + " has unexpected meta of type BlockStateMeta (but is not a tile)");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -200,9 +201,9 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
CraftMetaItem baseMeta = (CraftMetaItem) Bukkit.getItemFactory().getItemMeta(material);
|
||||
ItemMeta baseMetaItem = CraftItemStack.getItemMeta(item.getDefaultInstance());
|
||||
|
||||
assertTrue(material + " is not handled in CraftItemFactory", baseMeta instanceof CraftMetaSpawnEgg);
|
||||
assertTrue(material + " is not applicable to CraftMetaSpawnEgg", baseMeta.applicableTo(material));
|
||||
assertTrue(material + " is not handled in CraftItemStack", baseMetaItem instanceof SpawnEggMeta);
|
||||
assertTrue(baseMeta instanceof CraftMetaSpawnEgg, material + " is not handled in CraftItemFactory");
|
||||
assertTrue(baseMeta.applicableTo(material), material + " is not applicable to CraftMetaSpawnEgg");
|
||||
assertTrue(baseMetaItem instanceof SpawnEggMeta, material + " is not handled in CraftItemStack");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -411,7 +412,7 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
}
|
||||
);
|
||||
|
||||
assertThat("Forgotten test?", providers, hasSize(ItemStackTest.COMPOUND_MATERIALS.length - 4/* Normal item meta, skulls, eggs and tile entities */));
|
||||
assertThat(providers, hasSize(ItemStackTest.COMPOUND_MATERIALS.length - 4/* Normal item meta, skulls, eggs and tile entities */), "Forgotten test?");
|
||||
|
||||
for (final StackProvider provider : providers) {
|
||||
downCastTest(new BukkitWrapper(provider));
|
||||
@ -452,8 +453,8 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
final ItemStack craftBlank = CraftItemStack.asCraftCopy(blank);
|
||||
|
||||
// Check that equality and similarity works for each meta implementation
|
||||
assertThat(name, provider.stack(), is(provider.stack()));
|
||||
assertThat(name, provider.stack().isSimilar(provider.stack()), is(true));
|
||||
assertThat(provider.stack(), is(provider.stack()), name);
|
||||
assertThat(provider.stack().isSimilar(provider.stack()), is(true), name);
|
||||
|
||||
downCastTest(name, provider.stack(), blank);
|
||||
blank.setItemMeta(blank.getItemMeta());
|
||||
@ -465,11 +466,11 @@ public class ItemMetaTest extends AbstractTestingBase {
|
||||
}
|
||||
|
||||
private void downCastTest(final String name, final ItemStack stack, final ItemStack blank) {
|
||||
assertThat(name, stack, is(not(blank)));
|
||||
assertThat(name, stack.getItemMeta(), is(not(blank.getItemMeta())));
|
||||
assertThat(stack, is(not(blank)), name);
|
||||
assertThat(stack.getItemMeta(), is(not(blank.getItemMeta())), name);
|
||||
|
||||
stack.setType(Material.STONE);
|
||||
|
||||
assertThat(name, stack, is(blank));
|
||||
assertThat(stack, is(blank), name);
|
||||
}
|
||||
}
|
||||
|
@ -3,21 +3,15 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackBookTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.WRITTEN_BOOK, Material.WRITABLE_BOOK);
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,16 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackEnchantStorageTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.ENCHANTED_BOOK);
|
||||
}
|
||||
|
||||
|
@ -3,24 +3,18 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
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.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackFireworkChargeTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.FIREWORK_STAR);
|
||||
}
|
||||
|
||||
|
@ -3,24 +3,18 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
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.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackFireworkTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.FIREWORK_ROCKET);
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,16 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackLeatherTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.LEATHER_BOOTS, Material.LEATHER_CHESTPLATE, Material.LEATHER_HELMET, Material.LEATHER_LEGGINGS);
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,16 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.Repairable;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackLoreEnchantmentTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, ItemStackTest.COMPOUND_MATERIALS);
|
||||
}
|
||||
|
||||
|
@ -3,21 +3,15 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.MapMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackMapTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.FILLED_MAP);
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,16 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackPotionsTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.POTION);
|
||||
}
|
||||
|
||||
|
@ -3,21 +3,15 @@ package org.bukkit.craftbukkit.inventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.CompoundOperator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.Operator;
|
||||
import org.bukkit.craftbukkit.inventory.ItemStackTest.StackProvider;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class ItemStackSkullTest extends ItemStackTest {
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
public static Stream<Arguments> data() {
|
||||
return StackProvider.compound(operators(), "%s %s", NAME_PARAMETER, Material.PLAYER_HEAD);
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.Matchers.*;
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.bukkit.support.Matchers.sameHash;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
@ -15,6 +14,7 @@ import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Stream;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@ -24,14 +24,11 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.bukkit.util.io.BukkitObjectInputStream;
|
||||
import org.bukkit.util.io.BukkitObjectOutputStream;
|
||||
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.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 ItemStackTest extends AbstractTestingBase {
|
||||
abstract static class StackProvider {
|
||||
final Material material;
|
||||
@ -70,8 +67,8 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
* @param materials
|
||||
* @return
|
||||
*/
|
||||
static List<Object[]> compound(final List<Object[]> parameterList, final String nameFormat, final int nameIndex, final Material...materials) {
|
||||
final List<Object[]> out = new ArrayList<Object[]>();
|
||||
static Stream<Arguments> compound(final List<Object[]> parameterList, final String nameFormat, final int nameIndex, final Material... materials) {
|
||||
final List<Arguments> out = new ArrayList<>();
|
||||
for (Object[] params : parameterList) {
|
||||
final int len = params.length;
|
||||
for (final Material material : materials) {
|
||||
@ -89,10 +86,10 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
paramsOut[nameIndex] = String.format(nameFormat, paramsOut[nameIndex], material);
|
||||
out.add(paramsOut);
|
||||
out.add(Arguments.of(paramsOut));
|
||||
}
|
||||
}
|
||||
return out;
|
||||
return out.stream();
|
||||
}
|
||||
}
|
||||
|
||||
@ -305,9 +302,8 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Parameters(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
public static List<Object[]> data() {
|
||||
return ImmutableList.of(); // TODO, test basic durability issues
|
||||
public static Stream<Arguments> data() {
|
||||
return Stream.empty(); // TODO, test basic durability issues
|
||||
}
|
||||
|
||||
static final Object[][] EMPTY_ARRAY = new Object[0][];
|
||||
@ -330,26 +326,55 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
COMPOUND_MATERIALS = possibleMaterials.values().toArray(new Material[possibleMaterials.size()]);
|
||||
}
|
||||
|
||||
@Parameter(0) public StackProvider provider;
|
||||
@Parameter(1) public StackProvider unequalProvider;
|
||||
@Parameter(NAME_PARAMETER) public String name;
|
||||
|
||||
@Test
|
||||
public void testBukkitInequality() {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testBukkitInequality(StackProvider provider, StackProvider unequalProvider, String name) {
|
||||
final StackWrapper bukkitWrapper = new CraftWrapper(provider);
|
||||
testInequality(bukkitWrapper, new BukkitWrapper(unequalProvider));
|
||||
testInequality(bukkitWrapper, new BukkitWrapper(new NoOpProvider(provider.material)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCraftInequality() {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testCraftInequality(StackProvider provider, StackProvider unequalProvider, String name) {
|
||||
final StackWrapper craftWrapper = new CraftWrapper(provider);
|
||||
testInequality(craftWrapper, new CraftWrapper(unequalProvider));
|
||||
testInequality(craftWrapper, new CraftWrapper(new NoOpProvider(provider.material)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMixedInequality() {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testMixedInequality(StackProvider provider, StackProvider unequalProvider, String name) {
|
||||
final StackWrapper craftWrapper = new CraftWrapper(provider);
|
||||
testInequality(craftWrapper, new BukkitWrapper(unequalProvider));
|
||||
testInequality(craftWrapper, new BukkitWrapper(new NoOpProvider(provider.material)));
|
||||
@ -400,23 +425,67 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
assertThat(newUnequalCraftStack.getItemMeta(), is(not(stack.getItemMeta())));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBukkitYamlDeserialize() throws Throwable {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testBukkitYamlDeserialize(StackProvider provider, StackProvider unequalProvider, String name) throws Throwable {
|
||||
testYamlDeserialize(new BukkitWrapper(provider), new BukkitWrapper(unequalProvider));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCraftYamlDeserialize() throws Throwable {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testCraftYamlDeserialize(StackProvider provider, StackProvider unequalProvider, String name) throws Throwable {
|
||||
testYamlDeserialize(new CraftWrapper(provider), new CraftWrapper(unequalProvider));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBukkitStreamDeserialize() throws Throwable {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testBukkitStreamDeserialize(StackProvider provider, StackProvider unequalProvider, String name) throws Throwable {
|
||||
testStreamDeserialize(new BukkitWrapper(provider), new BukkitWrapper(unequalProvider));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCraftStreamDeserialize() throws Throwable {
|
||||
@ParameterizedTest(name = "[{index}]:{" + NAME_PARAMETER + "}")
|
||||
@MethodSource({"data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackSkullTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackPotionsTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackMapTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLoreEnchantmentTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackLeatherTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackFireworkChargeTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackEnchantStorageTest#data",
|
||||
"org.bukkit.craftbukkit.inventory.ItemStackBookTest#data"
|
||||
})
|
||||
public void testCraftStreamDeserialize(StackProvider provider, StackProvider unequalProvider, String name) throws Throwable {
|
||||
testStreamDeserialize(new CraftWrapper(provider), new CraftWrapper(unequalProvider));
|
||||
}
|
||||
|
||||
@ -486,9 +555,9 @@ public class ItemStackTest extends AbstractTestingBase {
|
||||
}
|
||||
|
||||
static void testEqualities(String information, ItemStack primaryRead, ItemStack unequalRead, ItemStack primaryOriginal, ItemStack unequalOriginal) {
|
||||
assertThat(information, primaryRead, allOf(equalTo(primaryOriginal), sameHash(primaryOriginal)));
|
||||
assertThat(information, unequalRead, allOf(equalTo(unequalOriginal), sameHash(unequalOriginal)));
|
||||
assertThat(information, primaryRead, is(not(unequalOriginal)));
|
||||
assertThat(information, primaryRead, is(not(unequalRead)));
|
||||
assertThat(primaryRead, allOf(equalTo(primaryOriginal), sameHash(primaryOriginal)), information);
|
||||
assertThat(unequalRead, allOf(equalTo(unequalOriginal), sameHash(unequalOriginal)), information);
|
||||
assertThat(primaryRead, is(not(unequalOriginal)), information);
|
||||
assertThat(primaryRead, is(not(unequalRead)), information);
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import net.minecraft.world.item.enchantment.Enchantments;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class NMSCraftItemStackTest extends AbstractTestingBase {
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.io.StringReader;
|
||||
import java.lang.reflect.Array;
|
||||
import java.nio.ByteBuffer;
|
||||
@ -17,52 +17,52 @@ import org.bukkit.persistence.PersistentDataAdapterContext;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PersistentDataContainerTest extends AbstractTestingBase {
|
||||
|
||||
private static NamespacedKey VALID_KEY;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
@BeforeAll
|
||||
public static void setup() {
|
||||
VALID_KEY = new NamespacedKey("test", "validkey");
|
||||
}
|
||||
|
||||
/*
|
||||
Sets a test
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testSetNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getPersistentDataContainer().set(VALID_KEY, new PrimitiveTagType<>(boolean.class), true);
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getPersistentDataContainer().set(VALID_KEY, new PrimitiveTagType<>(boolean.class), true));
|
||||
}
|
||||
|
||||
/*
|
||||
Contains a tag
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testHasNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getPersistentDataContainer().set(VALID_KEY, PersistentDataType.INTEGER, 1); // We gotta set this so we at least try to compare it
|
||||
itemMeta.getPersistentDataContainer().has(VALID_KEY, new PrimitiveTagType<>(boolean.class));
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getPersistentDataContainer().has(VALID_KEY, new PrimitiveTagType<>(boolean.class)));
|
||||
}
|
||||
|
||||
/*
|
||||
Getting a tag
|
||||
*/
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testGetNoAdapter() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getPersistentDataContainer().set(VALID_KEY, PersistentDataType.INTEGER, 1); //We gotta set this so we at least try to compare it
|
||||
itemMeta.getPersistentDataContainer().get(VALID_KEY, new PrimitiveTagType<>(boolean.class));
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getPersistentDataContainer().get(VALID_KEY, new PrimitiveTagType<>(boolean.class)));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testGetWrongType() {
|
||||
ItemMeta itemMeta = createNewItemMeta();
|
||||
itemMeta.getPersistentDataContainer().set(VALID_KEY, PersistentDataType.INTEGER, 1);
|
||||
itemMeta.getPersistentDataContainer().get(VALID_KEY, PersistentDataType.STRING);
|
||||
assertThrows(IllegalArgumentException.class, () -> itemMeta.getPersistentDataContainer().get(VALID_KEY, PersistentDataType.STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.world.entity.player.PlayerInventory;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PlayerInventoryTest extends AbstractTestingBase {
|
||||
|
||||
|
@ -1,24 +1,24 @@
|
||||
package org.bukkit.craftbukkit.legacy;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EvilTest extends AbstractTestingBase {
|
||||
|
||||
@Test
|
||||
public void testFrom() {
|
||||
Assert.assertEquals(Material.LEGACY_STONE, CraftEvil.getMaterial(1));
|
||||
assertEquals(Material.LEGACY_STONE, CraftEvil.getMaterial(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTo() {
|
||||
Assert.assertEquals(1, CraftEvil.getId(Material.LEGACY_STONE));
|
||||
assertEquals(1, CraftEvil.getId(Material.LEGACY_STONE));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testIllegal() {
|
||||
Material.STONE.getId();
|
||||
assertThrows(IllegalArgumentException.class, () -> Material.STONE.getId());
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.craftbukkit.legacy;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
@ -7,8 +8,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class LegacyTest extends AbstractTestingBase {
|
||||
|
||||
@ -125,18 +125,18 @@ public class LegacyTest extends AbstractTestingBase {
|
||||
if (!INVALIDATED_MATERIALS.contains(material) && !material.isLegacy()) {
|
||||
MaterialData converted = CraftLegacy.toLegacyData(material);
|
||||
|
||||
Assert.assertNotEquals("Could not toLegacy " + material, Material.LEGACY_AIR, converted.getItemType());
|
||||
assertNotEquals(Material.LEGACY_AIR, converted.getItemType(), "Could not toLegacy " + material);
|
||||
|
||||
if (!INVALIDATED_MATERIALS.contains(converted.getItemType())) {
|
||||
Assert.assertNotEquals("Could not fromLegacy(toLegacy) " + converted + "(" + material + ")", Material.AIR, CraftLegacy.fromLegacy(converted));
|
||||
assertNotEquals(Material.AIR, CraftLegacy.fromLegacy(converted), "Could not fromLegacy(toLegacy) " + converted + "(" + material + ")");
|
||||
}
|
||||
if (!INVERSION_FAILS.contains(material)) {
|
||||
Assert.assertEquals("Could not fromLegacy(toLegacy) " + converted + "(" + material + ")", material, CraftLegacy.fromLegacy(converted));
|
||||
assertEquals(material, CraftLegacy.fromLegacy(converted), "Could not fromLegacy(toLegacy) " + converted + "(" + material + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertEquals("Could not toLegacy Air", Material.LEGACY_AIR, CraftLegacy.toLegacy(Material.AIR));
|
||||
assertEquals(Material.LEGACY_AIR, CraftLegacy.toLegacy(Material.AIR), "Could not toLegacy Air");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -144,32 +144,32 @@ public class LegacyTest extends AbstractTestingBase {
|
||||
for (Material material : Material.values()) {
|
||||
if (!INVALIDATED_MATERIALS.contains(material) && material.isLegacy()) {
|
||||
Material converted = CraftLegacy.fromLegacy(material);
|
||||
Assert.assertNotEquals("Could not fromLegacy " + material, Material.AIR, converted);
|
||||
assertNotEquals(Material.AIR, converted, "Could not fromLegacy " + material);
|
||||
|
||||
Assert.assertNotEquals("Could not toLegacy(fromLegacy) " + converted + "(" + material + ")", Material.AIR, CraftLegacy.toLegacy(converted));
|
||||
assertNotEquals(Material.AIR, CraftLegacy.toLegacy(converted), "Could not toLegacy(fromLegacy) " + converted + "(" + material + ")");
|
||||
if (!INVERSION_FAILS.contains(material)) {
|
||||
Assert.assertEquals("Could not toLegacy(fromLegacy) " + converted + "(" + material + ")", material, CraftLegacy.toLegacy(converted));
|
||||
assertEquals(material, CraftLegacy.toLegacy(converted), "Could not toLegacy(fromLegacy) " + converted + "(" + material + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertEquals("Could not fromLegacy Air", Material.AIR, CraftLegacy.fromLegacy(Material.LEGACY_AIR));
|
||||
assertEquals(Material.AIR, CraftLegacy.fromLegacy(Material.LEGACY_AIR), "Could not fromLegacy Air");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRestricted() {
|
||||
for (Material material : CraftLegacy.values()) {
|
||||
Assert.assertTrue("Must iterate only legacy materials", material.isLegacy());
|
||||
assertTrue(material.isLegacy(), "Must iterate only legacy materials");
|
||||
}
|
||||
|
||||
for (Material material : org.bukkit.craftbukkit.util.CraftLegacy.modern_values()) {
|
||||
Assert.assertFalse("Must iterate only modern materials", material.isLegacy());
|
||||
assertFalse(material.isLegacy(), "Must iterate only modern materials");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testManual() {
|
||||
Assert.assertEquals(Material.YELLOW_DYE, CraftMagicNumbers.INSTANCE.getMaterial("dandelion_yellow", 1631));
|
||||
Assert.assertEquals(Material.OAK_WALL_SIGN, CraftMagicNumbers.INSTANCE.getMaterial("wall_sign", 1631));
|
||||
assertEquals(Material.YELLOW_DYE, CraftMagicNumbers.INSTANCE.getMaterial("dandelion_yellow", 1631));
|
||||
assertEquals(Material.OAK_WALL_SIGN, CraftMagicNumbers.INSTANCE.getMaterial("wall_sign", 1631));
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.craftbukkit.profile;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
import java.net.MalformedURLException;
|
||||
@ -11,8 +12,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.configuration.serialization.ConfigurationSerialization;
|
||||
import org.bukkit.profile.PlayerProfile;
|
||||
import org.bukkit.profile.PlayerTextures;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PlayerProfileTest {
|
||||
|
||||
@ -62,19 +62,19 @@ public class PlayerProfileTest {
|
||||
@Test
|
||||
public void testProvidedValues() {
|
||||
Property property = new Property(CraftPlayerTextures.PROPERTY_NAME, VALUE, SIGNATURE);
|
||||
Assert.assertTrue("Invalid test property signature, has the public key changed?", CraftProfileProperty.hasValidSignature(property));
|
||||
assertTrue(CraftProfileProperty.hasValidSignature(property), "Invalid test property signature, has the public key changed?");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProfileCreation() {
|
||||
// Invalid profiles:
|
||||
Assert.assertThrows(IllegalArgumentException.class, () -> {
|
||||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
new CraftPlayerProfile(null, null);
|
||||
});
|
||||
Assert.assertThrows(IllegalArgumentException.class, () -> {
|
||||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
new CraftPlayerProfile(null, "");
|
||||
});
|
||||
Assert.assertThrows(IllegalArgumentException.class, () -> {
|
||||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
new CraftPlayerProfile(null, " ");
|
||||
});
|
||||
|
||||
@ -87,48 +87,48 @@ public class PlayerProfileTest {
|
||||
@Test
|
||||
public void testGameProfileWrapping() {
|
||||
// Invalid profiles:
|
||||
Assert.assertThrows(NullPointerException.class, () -> {
|
||||
assertThrows(NullPointerException.class, () -> {
|
||||
new CraftPlayerProfile(null);
|
||||
});
|
||||
|
||||
// Valid profiles:
|
||||
CraftPlayerProfile profile1 = new CraftPlayerProfile(new GameProfile(UNIQUE_ID, NAME));
|
||||
Assert.assertEquals("Unique id is not the same", UNIQUE_ID, profile1.getUniqueId());
|
||||
Assert.assertEquals("Name is not the same", NAME, profile1.getName());
|
||||
assertEquals(UNIQUE_ID, profile1.getUniqueId(), "Unique id is not the same");
|
||||
assertEquals(NAME, profile1.getName(), "Name is not the same");
|
||||
|
||||
CraftPlayerProfile profile2 = new CraftPlayerProfile(new GameProfile(UNIQUE_ID, ""));
|
||||
Assert.assertEquals("Unique id is not the same", UNIQUE_ID, profile2.getUniqueId());
|
||||
Assert.assertEquals("Name is not null", null, profile2.getName());
|
||||
assertEquals(UNIQUE_ID, profile2.getUniqueId(), "Unique id is not the same");
|
||||
assertEquals(null, profile2.getName(), "Name is not null");
|
||||
|
||||
CraftPlayerProfile profile3 = new CraftPlayerProfile(new GameProfile(SystemUtils.NIL_UUID, NAME));
|
||||
Assert.assertEquals("Unique id is not null", null, profile3.getUniqueId());
|
||||
Assert.assertEquals("Name is not the same", NAME, profile3.getName());
|
||||
assertEquals(null, profile3.getUniqueId(), "Unique id is not null");
|
||||
assertEquals(NAME, profile3.getName(), "Name is not the same");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTexturesLoading() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
Assert.assertEquals("Unique id is not the same", UNIQUE_ID, profile.getUniqueId());
|
||||
Assert.assertEquals("Name is not the same", NAME, profile.getName());
|
||||
Assert.assertEquals("Skin url is not the same", SKIN, profile.getTextures().getSkin());
|
||||
Assert.assertEquals("Skin model is not the same", PlayerTextures.SkinModel.SLIM, profile.getTextures().getSkinModel());
|
||||
Assert.assertEquals("Cape url is not the same", CAPE, profile.getTextures().getCape());
|
||||
Assert.assertEquals("Timestamp is not the same", TIMESTAMP, profile.getTextures().getTimestamp());
|
||||
assertEquals(UNIQUE_ID, profile.getUniqueId(), "Unique id is not the same");
|
||||
assertEquals(NAME, profile.getName(), "Name is not the same");
|
||||
assertEquals(SKIN, profile.getTextures().getSkin(), "Skin url is not the same");
|
||||
assertEquals(PlayerTextures.SkinModel.SLIM, profile.getTextures().getSkinModel(), "Skin model is not the same");
|
||||
assertEquals(CAPE, profile.getTextures().getCape(), "Cape url is not the same");
|
||||
assertEquals(TIMESTAMP, profile.getTextures().getTimestamp(), "Timestamp is not the same");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildGameProfile() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
GameProfile gameProfile = profile.buildGameProfile();
|
||||
Assert.assertNotNull("GameProfile is null", gameProfile);
|
||||
assertNotNull(gameProfile, "GameProfile is null");
|
||||
|
||||
Property property = CraftPlayerProfile.getProperty(gameProfile, CraftPlayerTextures.PROPERTY_NAME);
|
||||
Assert.assertNotNull("Textures property is null", property);
|
||||
Assert.assertEquals("Property values are not the same", VALUE, property.value());
|
||||
Assert.assertEquals("Names are not the same", NAME, gameProfile.getName());
|
||||
Assert.assertEquals("Unique ids are not the same", UNIQUE_ID, gameProfile.getId());
|
||||
Assert.assertTrue("Signature is missing", property.hasSignature());
|
||||
Assert.assertTrue("Signature is not valid", CraftProfileProperty.hasValidSignature(property));
|
||||
assertNotNull(property, "Textures property is null");
|
||||
assertEquals(VALUE, property.value(), "Property values are not the same");
|
||||
assertEquals(NAME, gameProfile.getName(), "Names are not the same");
|
||||
assertEquals(UNIQUE_ID, gameProfile.getId(), "Unique ids are not the same");
|
||||
assertTrue(property.hasSignature(), "Signature is missing");
|
||||
assertTrue(CraftProfileProperty.hasValidSignature(property), "Signature is not valid");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -136,34 +136,34 @@ public class PlayerProfileTest {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
GameProfile gameProfile1 = profile.buildGameProfile();
|
||||
GameProfile gameProfile2 = profile.buildGameProfile();
|
||||
Assert.assertTrue("CraftPlayerProfile#buildGameProfile() does not produce a new instance", gameProfile1 != gameProfile2);
|
||||
assertNotSame(gameProfile1, gameProfile2, "CraftPlayerProfile#buildGameProfile() does not produce a new instance");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSignatureValidation() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
Assert.assertTrue("Signature is not valid", profile.getTextures().isSigned());
|
||||
assertTrue(profile.getTextures().isSigned(), "Signature is not valid");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSignatureInvalidation() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
profile.getTextures().setSkin(null);
|
||||
Assert.assertTrue("Textures has a timestamp", profile.getTextures().getTimestamp() == 0L);
|
||||
Assert.assertTrue("Textures signature is valid", !profile.getTextures().isSigned());
|
||||
assertEquals(0L, profile.getTextures().getTimestamp(), "Textures has a timestamp");
|
||||
assertFalse(profile.getTextures().isSigned(), "Textures signature is valid");
|
||||
|
||||
// Ensure that the invalidation is preserved when the property is rebuilt:
|
||||
profile.rebuildDirtyProperties();
|
||||
Assert.assertTrue("Rebuilt textures has a timestamp", profile.getTextures().getTimestamp() == 0L);
|
||||
Assert.assertTrue("Rebuilt textures signature is valid", !profile.getTextures().isSigned());
|
||||
assertEquals(0L, profile.getTextures().getTimestamp(), "Rebuilt textures has a timestamp");
|
||||
assertFalse(profile.getTextures().isSigned(), "Rebuilt textures signature is valid");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetSkinResetsSkinModel() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
Assert.assertEquals("Skin model is not the same", PlayerTextures.SkinModel.SLIM, profile.getTextures().getSkinModel());
|
||||
assertEquals(PlayerTextures.SkinModel.SLIM, profile.getTextures().getSkinModel(), "Skin model is not the same");
|
||||
profile.getTextures().setSkin(SKIN);
|
||||
Assert.assertEquals("Skin model was not reset by skin change", PlayerTextures.SkinModel.CLASSIC, profile.getTextures().getSkinModel());
|
||||
assertEquals(PlayerTextures.SkinModel.CLASSIC, profile.getTextures().getSkinModel(), "Skin model was not reset by skin change");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -171,35 +171,35 @@ public class PlayerProfileTest {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
CraftPlayerProfile profile2 = new CraftPlayerProfile(new GameProfile(UNIQUE_ID, NAME));
|
||||
|
||||
Assert.assertTrue("profile has no textures", !profile.getTextures().isEmpty());
|
||||
Assert.assertTrue("profile2 has textures", profile2.getTextures().isEmpty());
|
||||
assertFalse(profile.getTextures().isEmpty(), "profile has no textures");
|
||||
assertTrue(profile2.getTextures().isEmpty(), "profile2 has textures");
|
||||
|
||||
profile2.setTextures(profile.getTextures());
|
||||
Assert.assertTrue("profile2 has no textures", !profile2.getTextures().isEmpty());
|
||||
Assert.assertEquals("copied profile textures are not the same", profile.getTextures(), profile2.getTextures());
|
||||
assertFalse(profile2.getTextures().isEmpty(), "profile2 has no textures");
|
||||
assertEquals(profile.getTextures(), profile2.getTextures(), "copied profile textures are not the same");
|
||||
|
||||
profile2.setTextures(null);
|
||||
Assert.assertTrue("cleared profile2 has textures", profile2.getTextures().isEmpty());
|
||||
Assert.assertTrue("cleared profile2 has textures timestamp", profile2.getTextures().getTimestamp() == 0L);
|
||||
Assert.assertTrue("cleared profile2 has signed textures", !profile2.getTextures().isSigned());
|
||||
assertTrue(profile2.getTextures().isEmpty(), "cleared profile2 has textures");
|
||||
assertEquals(0L, profile2.getTextures().getTimestamp(), "cleared profile2 has textures timestamp");
|
||||
assertFalse(profile2.getTextures().isSigned(), "cleared profile2 has signed textures");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClearTextures() {
|
||||
CraftPlayerProfile profile = buildPlayerProfile();
|
||||
Assert.assertTrue("profile has no textures", !profile.getTextures().isEmpty());
|
||||
assertFalse(profile.getTextures().isEmpty(), "profile has no textures");
|
||||
|
||||
profile.getTextures().clear();
|
||||
Assert.assertTrue("cleared profile has textures", profile.getTextures().isEmpty());
|
||||
Assert.assertTrue("cleared profile has textures timestamp", profile.getTextures().getTimestamp() == 0L);
|
||||
Assert.assertTrue("cleared profile has signed textures", !profile.getTextures().isSigned());
|
||||
assertTrue(profile.getTextures().isEmpty(), "cleared profile has textures");
|
||||
assertEquals(0L, profile.getTextures().getTimestamp(), "cleared profile has textures timestamp");
|
||||
assertFalse(profile.getTextures().isSigned(), "cleared profile has signed textures");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCustomSkin() {
|
||||
CraftPlayerProfile profile = new CraftPlayerProfile(UNIQUE_ID, NAME);
|
||||
profile.getTextures().setSkin(SKIN);
|
||||
Assert.assertEquals("profile with custom skin does not match expected value", COMPACT_VALUE, profile.getTextures().getProperty().value());
|
||||
assertEquals(COMPACT_VALUE, profile.getTextures().getProperty().value(), "profile with custom skin does not match expected value");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -211,35 +211,35 @@ public class PlayerProfileTest {
|
||||
CraftPlayerProfile profile5 = new CraftPlayerProfile(UNIQUE_ID, null);
|
||||
CraftPlayerProfile profile6 = new CraftPlayerProfile(null, NAME);
|
||||
|
||||
Assert.assertEquals("profile1 and profile2 are not equal", profile1, profile2);
|
||||
Assert.assertEquals("profile3 and profile4 are not equal", profile3, profile4);
|
||||
Assert.assertNotEquals("profile1 and profile3 are equal", profile1, profile3);
|
||||
Assert.assertNotEquals("profile4 and profile5 are equal", profile4, profile5);
|
||||
Assert.assertNotEquals("profile4 and profile6 are equal", profile4, profile6);
|
||||
assertEquals(profile1, profile2, "profile1 and profile2 are not equal");
|
||||
assertEquals(profile3, profile4, "profile3 and profile4 are not equal");
|
||||
assertNotEquals(profile1, profile3, "profile1 and profile3 are equal");
|
||||
assertNotEquals(profile4, profile5, "profile4 and profile5 are equal");
|
||||
assertNotEquals(profile4, profile6, "profile4 and profile6 are equal");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTexturesEquals() {
|
||||
CraftPlayerProfile profile1 = buildPlayerProfile();
|
||||
CraftPlayerProfile profile2 = buildPlayerProfile();
|
||||
Assert.assertEquals("Profile textures are not equal", profile1.getTextures(), profile2.getTextures());
|
||||
assertEquals(profile1.getTextures(), profile2.getTextures(), "Profile textures are not equal");
|
||||
|
||||
profile1.getTextures().setCape(null);
|
||||
Assert.assertNotEquals("Modified profile textures are still equal", profile1.getTextures(), profile2.getTextures());
|
||||
assertNotEquals(profile1.getTextures(), profile2.getTextures(), "Modified profile textures are still equal");
|
||||
|
||||
profile2.getTextures().setCape(null);
|
||||
Assert.assertEquals("Modified profile textures are not equal", profile1.getTextures(), profile2.getTextures());
|
||||
assertEquals(profile1.getTextures(), profile2.getTextures(), "Modified profile textures are not equal");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClone() {
|
||||
PlayerProfile profile = buildPlayerProfile();
|
||||
PlayerProfile copy = profile.clone();
|
||||
Assert.assertEquals("profile and copy are not equal", profile, copy);
|
||||
assertEquals(profile, copy, "profile and copy are not equal");
|
||||
|
||||
// New copies are independent (don't affect the original profile):
|
||||
copy.getTextures().setSkin(null);
|
||||
Assert.assertEquals("copy is not independent", SKIN, profile.getTextures().getSkin());
|
||||
assertEquals(SKIN, profile.getTextures().getSkin(), "copy is not independent");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -255,7 +255,7 @@ public class PlayerProfileTest {
|
||||
configuration = new YamlConfiguration();
|
||||
configuration.loadFromString(saved);
|
||||
|
||||
Assert.assertTrue(configuration.contains("test"));
|
||||
Assert.assertEquals("Profiles are not equal", playerProfile, configuration.get("test"));
|
||||
assertTrue(configuration.contains("test"));
|
||||
assertEquals(playerProfile, configuration.get("test"), "Profiles are not equal");
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit.craftbukkit.util;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.network.chat.ComponentContents;
|
||||
import net.minecraft.network.chat.IChatBaseComponent;
|
||||
import net.minecraft.network.chat.IChatMutableComponent;
|
||||
import net.minecraft.network.chat.contents.LiteralContents;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class CraftChatMessageTest {
|
||||
|
||||
@ -35,7 +35,7 @@ public class CraftChatMessageTest {
|
||||
|
||||
// dont retain line returns multiple components
|
||||
IChatBaseComponent[] components = CraftChatMessage.fromString("Hello§0\n§rFoo\n§5Test");
|
||||
assertEquals("Has 3 components", 3, components.length);
|
||||
assertEquals(3, components.length, "Has 3 components");
|
||||
assertEquals("Hello§0", CraftChatMessage.fromComponent(components[0]));
|
||||
assertEquals(/*§r*/"Foo", CraftChatMessage.fromComponent(components[1]));
|
||||
assertEquals("§5Test", CraftChatMessage.fromComponent(components[2]));
|
||||
@ -85,14 +85,14 @@ public class CraftChatMessageTest {
|
||||
private void testString(String input, String expected, boolean keepNewLines) {
|
||||
IChatBaseComponent cmp = CraftChatMessage.fromString(input, keepNewLines)[0];
|
||||
String actual = CraftChatMessage.fromComponent(cmp);
|
||||
assertEquals("\nComponent: " + cmp + "\n", expected, actual);
|
||||
assertEquals(expected, actual, "\nComponent: " + cmp + "\n");
|
||||
}
|
||||
|
||||
private void testPlainString(String expected) {
|
||||
IChatBaseComponent component = CraftChatMessage.fromString(expected, false, true)[0];
|
||||
String actual = CraftChatMessage.fromComponent(component);
|
||||
assertEquals("fromComponent does not match input: " + component, expected, actual);
|
||||
assertTrue("Non-plain component: " + component, !containsNonPlainComponent(component));
|
||||
assertEquals(expected, actual, "fromComponent does not match input: " + component);
|
||||
assertFalse(containsNonPlainComponent(component), "Non-plain component: " + component);
|
||||
}
|
||||
|
||||
private boolean containsNonPlainComponent(IChatBaseComponent component) {
|
||||
@ -106,10 +106,10 @@ public class CraftChatMessageTest {
|
||||
|
||||
private void testComponent(String expected, IChatBaseComponent cmp) {
|
||||
String actual = CraftChatMessage.fromComponent(cmp);
|
||||
assertEquals("\nComponent: " + cmp + "\n", expected, actual);
|
||||
assertEquals(expected, actual, "\nComponent: " + cmp + "\n");
|
||||
|
||||
IChatBaseComponent expectedCmp = CraftChatMessage.fromString(expected, true)[0];
|
||||
String actualExpectedCmp = CraftChatMessage.fromComponent(expectedCmp);
|
||||
assertEquals("\nComponent: " + expectedCmp + "\n", expected, actualExpectedCmp);
|
||||
assertEquals(expected, actualExpectedCmp, "\nComponent: " + expectedCmp + "\n");
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
package org.bukkit.enchantments;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.enchantment.EnchantmentSlotType;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EnchantmentTargetTest extends AbstractTestingBase {
|
||||
|
||||
@ -27,7 +27,7 @@ public class EnchantmentTargetTest extends AbstractTestingBase {
|
||||
break;
|
||||
}
|
||||
|
||||
Assert.assertNotNull("No bukkit target for slot " + nmsSlot, bukkitTarget);
|
||||
assertNotNull(bukkitTarget, "No bukkit target for slot " + nmsSlot);
|
||||
|
||||
for (Item item : BuiltInRegistries.ITEM) {
|
||||
Material material = CraftMagicNumbers.getMaterial(item);
|
||||
@ -35,7 +35,7 @@ public class EnchantmentTargetTest extends AbstractTestingBase {
|
||||
boolean nms = nmsSlot.canEnchant(item);
|
||||
boolean bukkit = bukkitTarget.includes(material);
|
||||
|
||||
Assert.assertEquals("Slot mismatch for " + bukkitTarget + " and " + material, nms, bukkit);
|
||||
assertEquals(nms, bukkit, "Slot mismatch for " + bukkitTarget + " and " + material);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ package org.bukkit.entity;
|
||||
import net.minecraft.world.entity.vehicle.EntityBoat;
|
||||
import org.bukkit.craftbukkit.entity.CraftBoat;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class BoatTest extends AbstractTestingBase {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.world.entity.boss.enderdragon.phases.DragonControllerPhase;
|
||||
import org.bukkit.craftbukkit.entity.CraftEnderDragon;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EnderDragonPhaseTest {
|
||||
|
||||
@ -11,38 +11,38 @@ public class EnderDragonPhaseTest {
|
||||
public void testNotNull() {
|
||||
for (EnderDragon.Phase phase : EnderDragon.Phase.values()) {
|
||||
DragonControllerPhase dragonControllerPhase = CraftEnderDragon.getMinecraftPhase(phase);
|
||||
Assert.assertNotNull(phase.name(), dragonControllerPhase);
|
||||
Assert.assertNotNull(phase.name(), CraftEnderDragon.getBukkitPhase(dragonControllerPhase));
|
||||
assertNotNull(dragonControllerPhase, phase.name());
|
||||
assertNotNull(CraftEnderDragon.getBukkitPhase(dragonControllerPhase), phase.name());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBukkitToMinecraft() {
|
||||
Assert.assertEquals("CIRCLING", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.CIRCLING), DragonControllerPhase.HOLDING_PATTERN);
|
||||
Assert.assertEquals("STRAFING", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.STRAFING), DragonControllerPhase.STRAFE_PLAYER);
|
||||
Assert.assertEquals("FLY_TO_PORTAL", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.FLY_TO_PORTAL), DragonControllerPhase.LANDING_APPROACH);
|
||||
Assert.assertEquals("LAND_ON_PORTAL", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.LAND_ON_PORTAL), DragonControllerPhase.LANDING);
|
||||
Assert.assertEquals("LEAVE_PORTAL", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.LEAVE_PORTAL), DragonControllerPhase.TAKEOFF);
|
||||
Assert.assertEquals("BREATH_ATTACK", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.BREATH_ATTACK), DragonControllerPhase.SITTING_FLAMING);
|
||||
Assert.assertEquals("SEARCH_FOR_BREATH_ATTACK_TARGET", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.SEARCH_FOR_BREATH_ATTACK_TARGET), DragonControllerPhase.SITTING_SCANNING);
|
||||
Assert.assertEquals("ROAR_BEFORE_ATTACK", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.ROAR_BEFORE_ATTACK), DragonControllerPhase.SITTING_ATTACKING);
|
||||
Assert.assertEquals("CHARGE_PLAYER", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.CHARGE_PLAYER), DragonControllerPhase.CHARGING_PLAYER);
|
||||
Assert.assertEquals("DYING", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.DYING), DragonControllerPhase.DYING);
|
||||
Assert.assertEquals("HOVER", CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.HOVER), DragonControllerPhase.HOVERING);
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.CIRCLING), DragonControllerPhase.HOLDING_PATTERN, "CIRCLING");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.STRAFING), DragonControllerPhase.STRAFE_PLAYER, "STRAFING");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.FLY_TO_PORTAL), DragonControllerPhase.LANDING_APPROACH, "FLY_TO_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.LAND_ON_PORTAL), DragonControllerPhase.LANDING, "LAND_ON_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.LEAVE_PORTAL), DragonControllerPhase.TAKEOFF, "LEAVE_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.BREATH_ATTACK), DragonControllerPhase.SITTING_FLAMING, "BREATH_ATTACK");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.SEARCH_FOR_BREATH_ATTACK_TARGET), DragonControllerPhase.SITTING_SCANNING, "SEARCH_FOR_BREATH_ATTACK_TARGET");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.ROAR_BEFORE_ATTACK), DragonControllerPhase.SITTING_ATTACKING, "ROAR_BEFORE_ATTACK");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.CHARGE_PLAYER), DragonControllerPhase.CHARGING_PLAYER, "CHARGE_PLAYER");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.DYING), DragonControllerPhase.DYING, "DYING");
|
||||
assertEquals(CraftEnderDragon.getMinecraftPhase(EnderDragon.Phase.HOVER), DragonControllerPhase.HOVERING, "HOVER");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMinecraftToBukkit() {
|
||||
Assert.assertEquals("CIRCLING", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.HOLDING_PATTERN), EnderDragon.Phase.CIRCLING);
|
||||
Assert.assertEquals("STRAFING", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.STRAFE_PLAYER), EnderDragon.Phase.STRAFING);
|
||||
Assert.assertEquals("FLY_TO_PORTAL", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.LANDING_APPROACH), EnderDragon.Phase.FLY_TO_PORTAL);
|
||||
Assert.assertEquals("LAND_ON_PORTAL", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.LANDING), EnderDragon.Phase.LAND_ON_PORTAL);
|
||||
Assert.assertEquals("LEAVE_PORTAL", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.TAKEOFF), EnderDragon.Phase.LEAVE_PORTAL);
|
||||
Assert.assertEquals("BREATH_ATTACK", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_FLAMING), EnderDragon.Phase.BREATH_ATTACK);
|
||||
Assert.assertEquals("SEARCH_FOR_BREATH_ATTACK_TARGET", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_SCANNING), EnderDragon.Phase.SEARCH_FOR_BREATH_ATTACK_TARGET);
|
||||
Assert.assertEquals("ROAR_BEFORE_ATTACK", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_ATTACKING), EnderDragon.Phase.ROAR_BEFORE_ATTACK);
|
||||
Assert.assertEquals("CHARGE_PLAYER", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.CHARGING_PLAYER), EnderDragon.Phase.CHARGE_PLAYER);
|
||||
Assert.assertEquals("DYING", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.DYING), EnderDragon.Phase.DYING);
|
||||
Assert.assertEquals("HOVER", CraftEnderDragon.getBukkitPhase(DragonControllerPhase.HOVERING), EnderDragon.Phase.HOVER);
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.HOLDING_PATTERN), EnderDragon.Phase.CIRCLING, "CIRCLING");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.STRAFE_PLAYER), EnderDragon.Phase.STRAFING, "STRAFING");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.LANDING_APPROACH), EnderDragon.Phase.FLY_TO_PORTAL, "FLY_TO_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.LANDING), EnderDragon.Phase.LAND_ON_PORTAL, "LAND_ON_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.TAKEOFF), EnderDragon.Phase.LEAVE_PORTAL, "LEAVE_PORTAL");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_FLAMING), EnderDragon.Phase.BREATH_ATTACK, "BREATH_ATTACK");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_SCANNING), EnderDragon.Phase.SEARCH_FOR_BREATH_ATTACK_TARGET, "SEARCH_FOR_BREATH_ATTACK_TARGET");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.SITTING_ATTACKING), EnderDragon.Phase.ROAR_BEFORE_ATTACK, "ROAR_BEFORE_ATTACK");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.CHARGING_PLAYER), EnderDragon.Phase.CHARGE_PLAYER, "CHARGE_PLAYER");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.DYING), EnderDragon.Phase.DYING, "DYING");
|
||||
assertEquals(CraftEnderDragon.getBukkitPhase(DragonControllerPhase.HOVERING), EnderDragon.Phase.HOVER, "HOVER");
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
@ -7,8 +8,7 @@ import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import net.minecraft.world.entity.EntityTypes;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EntityTypesTest extends AbstractTestingBase {
|
||||
|
||||
@ -20,12 +20,12 @@ public class EntityTypesTest extends AbstractTestingBase {
|
||||
MinecraftKey key = EntityTypes.getKey(nms);
|
||||
|
||||
EntityType bukkit = EntityType.fromName(key.getPath());
|
||||
Assert.assertNotNull("Missing nms->bukkit " + key, bukkit);
|
||||
assertNotNull(bukkit, "Missing nms->bukkit " + key);
|
||||
|
||||
Assert.assertTrue("Duplicate entity nms->" + bukkit, allBukkit.remove(bukkit));
|
||||
assertTrue(allBukkit.remove(bukkit), "Duplicate entity nms->" + bukkit);
|
||||
}
|
||||
|
||||
Assert.assertTrue("Unmapped bukkit entities " + allBukkit, allBukkit.isEmpty());
|
||||
assertTrue(allBukkit.isEmpty(), "Unmapped bukkit entities " + allBukkit);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -33,7 +33,7 @@ public class EntityTypesTest extends AbstractTestingBase {
|
||||
for (EntityType entityType : EntityType.values()) {
|
||||
// Currently EntityType#getTranslationKey has a validation for null name then for test skip this and check correct names.
|
||||
if (entityType.getName() != null) {
|
||||
Assert.assertNotNull("Nulllable translation key for " + entityType, entityType.getTranslationKey());
|
||||
assertNotNull(entityType.getTranslationKey(), "Nulllable translation key for " + entityType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.world.entity.animal.EntityPanda;
|
||||
import org.bukkit.craftbukkit.entity.CraftPanda;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PandaGeneTest {
|
||||
|
||||
@ -12,9 +12,9 @@ public class PandaGeneTest {
|
||||
for (Panda.Gene gene : Panda.Gene.values()) {
|
||||
EntityPanda.Gene nms = CraftPanda.toNms(gene);
|
||||
|
||||
Assert.assertNotNull("NMS gene null for " + gene, nms);
|
||||
Assert.assertEquals("Recessive status did not match " + gene, gene.isRecessive(), nms.isRecessive());
|
||||
Assert.assertEquals("Gene did not convert back " + gene, gene, CraftPanda.fromNms(nms));
|
||||
assertNotNull(nms, "NMS gene null for " + gene);
|
||||
assertEquals(gene.isRecessive(), nms.isRecessive(), "Recessive status did not match " + gene);
|
||||
assertEquals(gene, CraftPanda.fromNms(nms), "Gene did not convert back " + gene);
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,9 +23,9 @@ public class PandaGeneTest {
|
||||
for (EntityPanda.Gene gene : EntityPanda.Gene.values()) {
|
||||
Panda.Gene bukkit = CraftPanda.fromNms(gene);
|
||||
|
||||
Assert.assertNotNull("Bukkit gene null for " + gene, bukkit);
|
||||
Assert.assertEquals("Recessive status did not match " + gene, gene.isRecessive(), bukkit.isRecessive());
|
||||
Assert.assertEquals("Gene did not convert back " + gene, gene, CraftPanda.toNms(bukkit));
|
||||
assertNotNull(bukkit, "Bukkit gene null for " + gene);
|
||||
assertEquals(gene.isRecessive(), bukkit.isRecessive(), "Recessive status did not match " + gene);
|
||||
assertEquals(gene, CraftPanda.toNms(bukkit), "Gene did not convert back " + gene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ package org.bukkit.entity;
|
||||
|
||||
import net.minecraft.world.entity.EnumCreatureType;
|
||||
import org.bukkit.craftbukkit.util.CraftSpawnCategory;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class SpawnCategoryTest {
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import static org.bukkit.support.MatcherAssert.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.craftbukkit.entity.CraftTropicalFish;
|
||||
import org.bukkit.entity.TropicalFish.Pattern;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class TropicalFishTest {
|
||||
|
||||
@ -36,9 +36,9 @@ public class TropicalFishTest {
|
||||
}
|
||||
|
||||
private void testVariant(int variant, DyeColor bodyColor, DyeColor patternColor, Pattern pattern) {
|
||||
assertThat("variant write", CraftTropicalFish.getData(patternColor, bodyColor, pattern), is(variant));
|
||||
assertThat("pattern colour read", CraftTropicalFish.getPatternColor(variant), is(patternColor));
|
||||
assertThat("body colour read", CraftTropicalFish.getBodyColor(variant), is(bodyColor));
|
||||
assertThat("pattern read", CraftTropicalFish.getPattern(variant), is(pattern));
|
||||
assertThat(CraftTropicalFish.getData(patternColor, bodyColor, pattern), is(variant), "variant write");
|
||||
assertThat(CraftTropicalFish.getPatternColor(variant), is(patternColor), "pattern colour read");
|
||||
assertThat(CraftTropicalFish.getBodyColor(variant), is(bodyColor), "body colour read");
|
||||
assertThat(CraftTropicalFish.getPattern(variant), is(pattern), "pattern read");
|
||||
}
|
||||
}
|
||||
|
@ -1,57 +1,57 @@
|
||||
package org.bukkit.entity.memory;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import net.minecraft.core.GlobalPos;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.craftbukkit.entity.memory.CraftMemoryKey;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class CraftMemoryKeyTest extends AbstractTestingBase {
|
||||
|
||||
@Test
|
||||
public void shouldConvertBukkitHomeKeyToNMSRepresentation() {
|
||||
MemoryModuleType<GlobalPos> nmsHomeKey = CraftMemoryKey.bukkitToMinecraft(MemoryKey.HOME);
|
||||
Assert.assertEquals("MemoryModuleType should be HOME", MemoryModuleType.HOME, nmsHomeKey);
|
||||
assertEquals(MemoryModuleType.HOME, nmsHomeKey, "MemoryModuleType should be HOME");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldConvertBukkitJobSiteKeyToNMSRepresentation() {
|
||||
MemoryModuleType<GlobalPos> nmsHomeKey = CraftMemoryKey.bukkitToMinecraft(MemoryKey.JOB_SITE);
|
||||
Assert.assertEquals("MemoryModuleType should be JOB_SITE", MemoryModuleType.JOB_SITE, nmsHomeKey);
|
||||
assertEquals(MemoryModuleType.JOB_SITE, nmsHomeKey, "MemoryModuleType should be JOB_SITE");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldConvertBukkitMeetingPointKeyToNMSRepresentation() {
|
||||
MemoryModuleType<GlobalPos> nmsHomeKey = CraftMemoryKey.bukkitToMinecraft(MemoryKey.MEETING_POINT);
|
||||
Assert.assertEquals("MemoryModuleType should be MEETING_POINT", MemoryModuleType.MEETING_POINT, nmsHomeKey);
|
||||
assertEquals(MemoryModuleType.MEETING_POINT, nmsHomeKey, "MemoryModuleType should be MEETING_POINT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldConvertNMSHomeKeyToBukkitRepresentation() {
|
||||
MemoryKey<Location> bukkitHomeKey = CraftMemoryKey.minecraftToBukkit(MemoryModuleType.HOME);
|
||||
Assert.assertEquals("MemoryModuleType should be HOME", MemoryKey.HOME, bukkitHomeKey);
|
||||
assertEquals(MemoryKey.HOME, bukkitHomeKey, "MemoryModuleType should be HOME");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldConvertNMSJobSiteKeyToBukkitRepresentation() {
|
||||
MemoryKey<Location> bukkitJobSiteKey = CraftMemoryKey.minecraftToBukkit(MemoryModuleType.JOB_SITE);
|
||||
Assert.assertEquals("MemoryKey should be JOB_SITE", MemoryKey.JOB_SITE, bukkitJobSiteKey);
|
||||
assertEquals(MemoryKey.JOB_SITE, bukkitJobSiteKey, "MemoryKey should be JOB_SITE");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldConvertNMSMeetingPointKeyToBukkitRepresentation() {
|
||||
MemoryKey<Location> bukkitHomeKey = CraftMemoryKey.minecraftToBukkit(MemoryModuleType.MEETING_POINT);
|
||||
Assert.assertEquals("MemoryKey should be MEETING_POINT", MemoryKey.MEETING_POINT, bukkitHomeKey);
|
||||
assertEquals(MemoryKey.MEETING_POINT, bukkitHomeKey, "MemoryKey should be MEETING_POINT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnNullWhenBukkitRepresentationOfKeyisNotAvailable() {
|
||||
MemoryKey bukkitNoKey = CraftMemoryKey.minecraftToBukkit(MemoryModuleType.NEAREST_LIVING_ENTITIES);
|
||||
Assert.assertNull("MemoryModuleType should be null", bukkitNoKey);
|
||||
assertNull(bukkitNoKey, "MemoryModuleType should be null");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -59,18 +59,18 @@ public class CraftMemoryKeyTest extends AbstractTestingBase {
|
||||
for (MemoryModuleType<?> memoryModuleType : BuiltInRegistries.MEMORY_MODULE_TYPE) {
|
||||
if (!memoryModuleType.getCodec().isPresent()) {
|
||||
MemoryKey bukkitNoKey = CraftMemoryKey.minecraftToBukkit(memoryModuleType);
|
||||
Assert.assertNull("MemoryModuleType should be null", bukkitNoKey);
|
||||
assertNull(bukkitNoKey, "MemoryModuleType should be null");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore("Unit type not yet implemented")
|
||||
@Disabled("Unit type not yet implemented")
|
||||
public void shouldReturnAnInstanceOfMemoryKeyWhenBukkitRepresentationOfKeyisAvailableAndSerializerIsPresent() {
|
||||
for (MemoryModuleType<?> memoryModuleType : BuiltInRegistries.MEMORY_MODULE_TYPE) {
|
||||
if (memoryModuleType.getCodec().isPresent()) {
|
||||
MemoryKey bukkitNoKey = CraftMemoryKey.minecraftToBukkit(memoryModuleType);
|
||||
Assert.assertNotNull("MemoryModuleType should not be null " + BuiltInRegistries.MEMORY_MODULE_TYPE.getKey(memoryModuleType), bukkitNoKey);
|
||||
assertNotNull(bukkitNoKey, "MemoryModuleType should not be null " + BuiltInRegistries.MEMORY_MODULE_TYPE.getKey(memoryModuleType));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.generator.structure;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import net.minecraft.core.IRegistry;
|
||||
@ -9,8 +10,7 @@ import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.Registry;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class StructureTest extends AbstractTestingBase {
|
||||
|
||||
@ -25,7 +25,7 @@ public class StructureTest extends AbstractTestingBase {
|
||||
}
|
||||
|
||||
String name = field.getName();
|
||||
Assert.assertNotNull("No structure for field name " + name, Registry.STRUCTURE.get(NamespacedKey.fromString(name.toLowerCase())));
|
||||
assertNotNull(Registry.STRUCTURE.get(NamespacedKey.fromString(name.toLowerCase())), "No structure for field name " + name);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,13 +38,13 @@ public class StructureTest extends AbstractTestingBase {
|
||||
try {
|
||||
Structure bukkit = (Structure) Structure.class.getField(minecraftKey.getPath().toUpperCase()).get(null);
|
||||
|
||||
Assert.assertEquals("Keys are not the same for " + minecraftKey, minecraftKey, CraftNamespacedKey.toMinecraft(bukkit.getKey()));
|
||||
assertEquals(minecraftKey, CraftNamespacedKey.toMinecraft(bukkit.getKey()), "Keys are not the same for " + minecraftKey);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Assert.fail("No Bukkit default structure for " + minecraftKey);
|
||||
fail("No Bukkit default structure for " + minecraftKey);
|
||||
} catch (IllegalAccessException e) {
|
||||
Assert.fail("Bukkit field is not access able for " + minecraftKey);
|
||||
fail("Bukkit field is not access able for " + minecraftKey);
|
||||
} catch (ClassCastException e) {
|
||||
Assert.fail("Bukkit field is not of type structure for" + minecraftKey);
|
||||
fail("Bukkit field is not of type structure for" + minecraftKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.generator.structure;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
@ -8,8 +9,7 @@ import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.Registry;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class StructureTypeTest extends AbstractTestingBase {
|
||||
|
||||
@ -24,7 +24,7 @@ public class StructureTypeTest extends AbstractTestingBase {
|
||||
}
|
||||
|
||||
String name = field.getName();
|
||||
Assert.assertNotNull("No structure type for field name " + name, Registry.STRUCTURE_TYPE.get(NamespacedKey.fromString(name.toLowerCase())));
|
||||
assertNotNull(Registry.STRUCTURE_TYPE.get(NamespacedKey.fromString(name.toLowerCase())), "No enchantment for field name " + name);
|
||||
}
|
||||
}
|
||||
|
||||
@ -36,13 +36,13 @@ public class StructureTypeTest extends AbstractTestingBase {
|
||||
try {
|
||||
StructureType bukkit = (StructureType) StructureType.class.getField(minecraftKey.getPath().toUpperCase()).get(null);
|
||||
|
||||
Assert.assertEquals("Keys are not the same for " + minecraftKey, minecraftKey, CraftNamespacedKey.toMinecraft(bukkit.getKey()));
|
||||
assertEquals(minecraftKey, CraftNamespacedKey.toMinecraft(bukkit.getKey()), "Keys are not the same for " + minecraftKey);
|
||||
} catch (NoSuchFieldException e) {
|
||||
Assert.fail("No Bukkit default structure type for " + minecraftKey);
|
||||
fail("No Bukkit default enchantment for " + minecraftKey);
|
||||
} catch (IllegalAccessException e) {
|
||||
Assert.fail("Bukkit field is not access able for " + minecraftKey);
|
||||
fail("Bukkit field is not access able for " + minecraftKey);
|
||||
} catch (ClassCastException e) {
|
||||
Assert.fail("Bukkit field is not of type structure type for" + minecraftKey);
|
||||
fail("Bukkit field is not of type enchantment for" + minecraftKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
package org.bukkit.map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.awt.Color;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import net.minecraft.world.level.material.MaterialMapColor;
|
||||
import org.bukkit.craftbukkit.map.CraftMapColorCache;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class MapTest {
|
||||
|
||||
@ -59,10 +59,10 @@ public class MapTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
Assert.assertFalse(fail);
|
||||
assertFalse(fail);
|
||||
}
|
||||
|
||||
@Ignore("Test takes around 25 seconds, should be run by changes to the map color conversion")
|
||||
@Disabled("Test takes around 25 seconds, should be run by changes to the map color conversion")
|
||||
@Test
|
||||
public void testMapColorCacheBuilding() throws ExecutionException, InterruptedException {
|
||||
CraftMapColorCache craftMapColorCache = new CraftMapColorCache(logger);
|
||||
@ -72,7 +72,7 @@ public class MapTest {
|
||||
for (int g = 0; g < 256; g++) {
|
||||
for (int b = 0; b < 256; b++) {
|
||||
Color color = new Color(r, g, b);
|
||||
Assert.assertEquals(String.format("Incorrect matched color c(%s, %s, %s)", color.getRed(), color.getGreen(), color.getBlue()), MapPalette.matchColor(color), craftMapColorCache.matchColor(color));
|
||||
assertEquals(MapPalette.matchColor(color), craftMapColorCache.matchColor(color), String.format("Incorrect matched color c(%s, %s, %s)", color.getRed(), color.getGreen(), color.getBlue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package org.bukkit.potion;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -11,7 +11,7 @@ import net.minecraft.world.effect.MobEffectList;
|
||||
import net.minecraft.world.item.alchemy.PotionRegistry;
|
||||
import org.bukkit.craftbukkit.potion.CraftPotionEffectType;
|
||||
import org.bukkit.support.AbstractTestingBase;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PotionTest extends AbstractTestingBase {
|
||||
@Test
|
||||
@ -21,10 +21,10 @@ public class PotionTest extends AbstractTestingBase {
|
||||
List<MobEffect> eff = reg.getEffects();
|
||||
if (eff.size() != 1) continue;
|
||||
PotionEffectType type = CraftPotionEffectType.minecraftToBukkit(eff.get(0).getEffect());
|
||||
assertNotNull(String.valueOf(reg), type);
|
||||
assertNotNull(type, String.valueOf(reg));
|
||||
|
||||
PotionType enumType = PotionType.getByEffect(type);
|
||||
assertNotNull(type.getName(), enumType);
|
||||
assertNotNull(enumType, type.getName());
|
||||
|
||||
effects.put(enumType, enumType.name());
|
||||
}
|
||||
@ -39,11 +39,11 @@ public class PotionTest extends AbstractTestingBase {
|
||||
|
||||
PotionEffectType bukkit = CraftPotionEffectType.minecraftToBukkit(nms);
|
||||
|
||||
assertNotNull("No Bukkit type for " + key, bukkit);
|
||||
assertFalse("No name for " + key, bukkit.getName().contains("UNKNOWN"));
|
||||
assertNotNull(bukkit, "No Bukkit type for " + key);
|
||||
assertFalse(bukkit.getName().contains("UNKNOWN"), "No name for " + key);
|
||||
|
||||
PotionEffectType byName = PotionEffectType.getByName(bukkit.getName());
|
||||
assertEquals("Same type not returned by name " + key, bukkit, byName);
|
||||
assertEquals(bukkit, byName, "Same type not returned by name " + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.bukkit.support;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.util.concurrent.MoreExecutors;
|
||||
import java.util.List;
|
||||
@ -24,7 +25,6 @@ import net.minecraft.world.level.biome.BiomeBase;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.CraftRegistry;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.junit.Assert;
|
||||
|
||||
/**
|
||||
* If you are getting: java.lang.ExceptionInInitializerError
|
||||
@ -73,6 +73,6 @@ public abstract class AbstractTestingBase {
|
||||
}
|
||||
}
|
||||
INVALIDATED_MATERIALS = builder.build();
|
||||
Assert.assertEquals("Expected 610 invalidated materials (got " + INVALIDATED_MATERIALS.size() + ")", 610, INVALIDATED_MATERIALS.size());
|
||||
assertEquals(610, INVALIDATED_MATERIALS.size(), "Expected 610 invalidated materials (got " + INVALIDATED_MATERIALS.size() + ")");
|
||||
}
|
||||
}
|
||||
|
@ -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.
|
||||
* <br>
|
||||
* <pre>
|
||||
* 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)));
|
||||
* </pre>
|
||||
* vs.
|
||||
* <pre>
|
||||
* 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));
|
||||
* </pre>
|
||||
*/
|
||||
public final class MatcherAssert {
|
||||
|
||||
private MatcherAssert() {}
|
||||
|
||||
public static <T> void assertThat(T actual, Matcher<? super T> matcher) {
|
||||
org.hamcrest.MatcherAssert.assertThat(actual, matcher);
|
||||
}
|
||||
|
||||
public static <T> 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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user