mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
faster tests by not mocking every time
This commit is contained in:
parent
366b4d3e3f
commit
cafbb0ef08
8 changed files with 75 additions and 19 deletions
|
|
@ -1,7 +1,5 @@
|
||||||
package io.delilaheve.util;
|
package io.delilaheve.util;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
|
||||||
import org.mockbukkit.mockbukkit.inventory.ItemStackMock;
|
|
||||||
import io.delilaheve.CustomAnvil;
|
import io.delilaheve.CustomAnvil;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
|
|
@ -12,6 +10,8 @@ import org.bukkit.permissions.PermissionAttachment;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
||||||
|
import org.mockbukkit.mockbukkit.inventory.ItemStackMock;
|
||||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.tests.ConfigResetCustomAnvilTest;
|
import xyz.alexcrea.cuanvil.tests.ConfigResetCustomAnvilTest;
|
||||||
import xyz.alexcrea.cuanvil.util.AnvilFuseTestData;
|
import xyz.alexcrea.cuanvil.util.AnvilFuseTestData;
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,50 @@
|
||||||
package xyz.alexcrea.cuanvil.anvil;
|
package xyz.alexcrea.cuanvil.anvil;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.inventory.AnvilInventory;
|
import org.bukkit.inventory.AnvilInventory;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
||||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.tests.DefaultCustomAnvilTest;
|
import xyz.alexcrea.cuanvil.tests.SharedCustomAnvilTest;
|
||||||
import xyz.alexcrea.cuanvil.util.AnvilFuseTestData;
|
import xyz.alexcrea.cuanvil.util.AnvilFuseTestData;
|
||||||
import xyz.alexcrea.cuanvil.util.AnvilFuseTestUtil;
|
import xyz.alexcrea.cuanvil.util.AnvilFuseTestUtil;
|
||||||
import xyz.alexcrea.cuanvil.util.CommonItemUtil;
|
import xyz.alexcrea.cuanvil.util.CommonItemUtil;
|
||||||
|
|
||||||
public class AnvilFuseTests extends DefaultCustomAnvilTest {
|
public class AnvilFuseTests extends SharedCustomAnvilTest {
|
||||||
|
|
||||||
private AnvilInventory anvil;
|
private static AnvilInventory anvil;
|
||||||
private PlayerMock player;
|
private static PlayerMock player;
|
||||||
|
|
||||||
@Override
|
@BeforeAll
|
||||||
@BeforeEach
|
public static void setUp() {
|
||||||
public void setUp() {
|
|
||||||
super.setUp();
|
|
||||||
// Mock used player & open anvil
|
// Mock used player & open anvil
|
||||||
player = server.addPlayer();
|
player = server.addPlayer();
|
||||||
|
|
||||||
Inventory anvil = server.createInventory(player, InventoryType.ANVIL);
|
Inventory anvil = server.createInventory(player, InventoryType.ANVIL);
|
||||||
|
|
||||||
this.anvil = (AnvilInventory) anvil;
|
AnvilFuseTests.anvil = (AnvilInventory) anvil;
|
||||||
player.openInventory(anvil);
|
player.openInventory(anvil);
|
||||||
|
|
||||||
ConfigHolder.DEFAULT_CONFIG.getConfig().set("debug_log", true);
|
ConfigHolder.DEFAULT_CONFIG.getConfig().set("debug_log", true);
|
||||||
ConfigHolder.DEFAULT_CONFIG.getConfig().set("debug_log_verbose", true);
|
ConfigHolder.DEFAULT_CONFIG.getConfig().set("debug_log_verbose", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void prepareAnvil(){
|
||||||
|
anvil.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void tearDown() {
|
||||||
|
player = null;
|
||||||
|
anvil = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void mergeFuseTest(){
|
public void mergeFuseTest(){
|
||||||
// Literally just test a sharpness 4 + sharpness 4
|
// Literally just test a sharpness 4 + sharpness 4
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package xyz.alexcrea.cuanvil.api;
|
package xyz.alexcrea.cuanvil.api;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
|
|
@ -10,6 +9,7 @@ import org.bukkit.inventory.ItemStack;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockbukkit.mockbukkit.entity.PlayerMock;
|
||||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
||||||
import xyz.alexcrea.cuanvil.group.EnchantConflictGroup;
|
import xyz.alexcrea.cuanvil.group.EnchantConflictGroup;
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@ import org.junit.jupiter.params.provider.MethodSource;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
||||||
import xyz.alexcrea.cuanvil.enchant.EnchantmentRarity;
|
import xyz.alexcrea.cuanvil.enchant.EnchantmentRarity;
|
||||||
import xyz.alexcrea.cuanvil.tests.DefaultCustomAnvilTest;
|
import xyz.alexcrea.cuanvil.tests.SharedCustomAnvilTest;
|
||||||
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class DefaultConfigTests extends DefaultCustomAnvilTest {
|
public class DefaultConfigTests extends SharedCustomAnvilTest {
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("provideStringsForIsConfiguredValueValid")
|
@MethodSource("provideStringsForIsConfiguredValueValid")
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package xyz.alexcrea.cuanvil.mock;
|
package xyz.alexcrea.cuanvil.mock;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.inventory.PlayerInventoryViewMock;
|
|
||||||
import org.bukkit.entity.HumanEntity;
|
import org.bukkit.entity.HumanEntity;
|
||||||
import org.bukkit.inventory.AnvilInventory;
|
import org.bukkit.inventory.AnvilInventory;
|
||||||
import org.bukkit.inventory.view.AnvilView;
|
import org.bukkit.inventory.view.AnvilView;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.mockbukkit.mockbukkit.inventory.PlayerInventoryViewMock;
|
||||||
|
|
||||||
@SuppressWarnings({"removal"})
|
@SuppressWarnings({"removal"})
|
||||||
public class AnvilViewMock extends PlayerInventoryViewMock implements AnvilView {
|
public class AnvilViewMock extends PlayerInventoryViewMock implements AnvilView {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package xyz.alexcrea.cuanvil.mock;
|
package xyz.alexcrea.cuanvil.mock;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.inventory.ItemStackMock;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.mockbukkit.mockbukkit.inventory.ItemStackMock;
|
||||||
|
|
||||||
public class EnchantedItemStackMock extends ItemStackMock {
|
public class EnchantedItemStackMock extends ItemStackMock {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package xyz.alexcrea.cuanvil.tests;
|
package xyz.alexcrea.cuanvil.tests;
|
||||||
|
|
||||||
import org.mockbukkit.mockbukkit.MockBukkit;
|
|
||||||
import org.mockbukkit.mockbukkit.ServerMock;
|
|
||||||
import io.delilaheve.CustomAnvil;
|
import io.delilaheve.CustomAnvil;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.mockbukkit.mockbukkit.MockBukkit;
|
||||||
|
import org.mockbukkit.mockbukkit.ServerMock;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
||||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package xyz.alexcrea.cuanvil.tests;
|
||||||
|
|
||||||
|
import io.delilaheve.CustomAnvil;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.mockbukkit.mockbukkit.MockBukkit;
|
||||||
|
import org.mockbukkit.mockbukkit.ServerMock;
|
||||||
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantment;
|
||||||
|
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public abstract class SharedCustomAnvilTest {
|
||||||
|
|
||||||
|
protected static ServerMock server;
|
||||||
|
protected static CustomAnvil plugin;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public static void setUp() {
|
||||||
|
// Start the mock server
|
||||||
|
server = MockBukkit.mock();
|
||||||
|
// Load your plugin
|
||||||
|
plugin = MockBukkit.load(CustomAnvil.class);
|
||||||
|
// Continue initialization of the plugin
|
||||||
|
server.getScheduler().performOneTick();
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void tearDown() {
|
||||||
|
// Stop the mock server
|
||||||
|
MockBukkit.unmock();
|
||||||
|
|
||||||
|
// Unregister enchantments
|
||||||
|
List<CAEnchantment> toUnregister = new ArrayList<>(
|
||||||
|
CAEnchantmentRegistry.getInstance().values()
|
||||||
|
);
|
||||||
|
|
||||||
|
for (CAEnchantment caEnchantment : toUnregister) {
|
||||||
|
CAEnchantmentRegistry.getInstance().unregister(caEnchantment);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue