1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

You better work :reeeee:

This commit is contained in:
TheBusyBiscuit 2020-05-09 20:31:03 +02:00
parent f30b212e96
commit 4df99b6fd8
11 changed files with 92 additions and 62 deletions

View File

@ -101,6 +101,13 @@ public class Category implements Keyed {
* the {@link SlimefunItem} that should be added to this {@link Category} * the {@link SlimefunItem} that should be added to this {@link Category}
*/ */
public void add(SlimefunItem item) { public void add(SlimefunItem item) {
Validate.notNull(item, "Cannot add null Items to a Category!");
if (items.contains(item)) {
// Ignore duplicate entries
return;
}
items.add(item); items.add(item);
} }

View File

@ -7,6 +7,7 @@ import org.bukkit.NamespacedKey;
import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.mockito.Mockito; import org.mockito.Mockito;
import io.github.thebusybiscuit.cscorelib2.item.CustomItem; import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
@ -17,14 +18,8 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
public final class SlimefunMocks { public final class SlimefunMocks {
private static final Category category = new Category(new NamespacedKey(SlimefunPlugin.instance, "test"), new CustomItem(Material.EMERALD, "&4Test Category"));
private SlimefunMocks() {} private SlimefunMocks() {}
public static Category getCategory() {
return category;
}
public static Inventory mockInventory(InventoryType type, ItemStack... contents) { public static Inventory mockInventory(InventoryType type, ItemStack... contents) {
Inventory inv = Mockito.mock(Inventory.class); Inventory inv = Mockito.mock(Inventory.class);
@ -34,11 +29,14 @@ public final class SlimefunMocks {
return inv; return inv;
} }
public static SlimefunItem mockSlimefunItem(String id, ItemStack item) { public static SlimefunItem mockSlimefunItem(Plugin plugin, String id, ItemStack item) {
Category category = new Category(new NamespacedKey(plugin, "test"), new CustomItem(Material.EMERALD, "&4Test Category"));
return new MockSlimefunItem(category, item, id); return new MockSlimefunItem(category, item, id);
} }
public static VanillaItem mockVanillaItem(Material type, boolean enabled) { public static VanillaItem mockVanillaItem(Plugin plugin, Material type, boolean enabled) {
Category category = new Category(new NamespacedKey(plugin, "test"), new CustomItem(Material.EMERALD, "&4Test Category"));
VanillaItem item = new VanillaItem(category, new ItemStack(type), type.name(), null, new ItemStack[9]); VanillaItem item = new VanillaItem(category, new ItemStack(type), type.name(), null, new ItemStack[9]);
SlimefunPlugin.getItemCfg().setValue(type.name() + ".enabled", enabled); SlimefunPlugin.getItemCfg().setValue(type.name() + ".enabled", enabled);
return item; return item;

View File

@ -43,18 +43,31 @@ public class TestCategories {
@Test @Test
public void testCategoryGetters() { public void testCategoryGetters() {
Category category = SlimefunMocks.getCategory(); Category category = new Category(new NamespacedKey(plugin, "getter_test"), new CustomItem(Material.DIAMOND_AXE, "&6Testing"));
Assertions.assertEquals(3, category.getTier()); Assertions.assertEquals(3, category.getTier());
Assertions.assertEquals(new NamespacedKey(SlimefunPlugin.instance, "test"), category.getKey()); Assertions.assertEquals(new NamespacedKey(SlimefunPlugin.instance, "getter_test"), category.getKey());
Assertions.assertEquals("Test Category", category.getUnlocalizedName()); Assertions.assertEquals("Testing", category.getUnlocalizedName());
Assertions.assertEquals(0, category.getItems().size()); Assertions.assertEquals(0, category.getItems().size());
}
SlimefunItem item = SlimefunMocks.mockSlimefunItem("CATEGORY_TEST_ITEM", new CustomItem(Material.BAMBOO, "&6Test Bamboo")); @Test
public void testAddItem() {
Category category = new Category(new NamespacedKey(plugin, "items_test"), new CustomItem(Material.DIAMOND_AXE, "&6Testing"));
SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "CATEGORY_ITEMS_TEST_ITEM", new CustomItem(Material.BAMBOO, "&6Test Bamboo"));
item.setCategory(category);
item.register(plugin); item.register(plugin);
item.load(); item.load();
Assertions.assertEquals(1, category.getItems().size()); Assertions.assertEquals(1, category.getItems().size());
// Size must still be 1 since we disallow duplicates
item.setCategory(category);
item.setCategory(category);
Assertions.assertEquals(1, category.getItems().size());
Assertions.assertThrows(IllegalArgumentException.class, () -> category.add(null));
Assertions.assertTrue(category.getItems().contains(item)); Assertions.assertTrue(category.getItems().contains(item));
} }
@ -66,7 +79,7 @@ public class TestCategories {
// Empty Categories are also hidden // Empty Categories are also hidden
Assertions.assertTrue(category.isHidden(player)); Assertions.assertTrue(category.isHidden(player));
SlimefunItem disabledItem = SlimefunMocks.mockSlimefunItem("DISABLED_CATEGORY_ITEM", new CustomItem(Material.BEETROOT, "&4Disabled")); SlimefunItem disabledItem = SlimefunMocks.mockSlimefunItem(plugin, "DISABLED_CATEGORY_ITEM", new CustomItem(Material.BEETROOT, "&4Disabled"));
SlimefunPlugin.getItemCfg().setValue("DISABLED_CATEGORY_ITEM.enabled", false); SlimefunPlugin.getItemCfg().setValue("DISABLED_CATEGORY_ITEM.enabled", false);
disabledItem.setCategory(category); disabledItem.setCategory(category);
disabledItem.register(plugin); disabledItem.register(plugin);
@ -75,7 +88,7 @@ public class TestCategories {
// A disabled Item should also make the Category hide // A disabled Item should also make the Category hide
Assertions.assertTrue(category.isHidden(player)); Assertions.assertTrue(category.isHidden(player));
SlimefunItem item = SlimefunMocks.mockSlimefunItem("CATEGORY_HIDDEN_TEST", new CustomItem(Material.BAMBOO, "&6Test Bamboo")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "CATEGORY_HIDDEN_TEST", new CustomItem(Material.BAMBOO, "&6Test Bamboo"));
item.setCategory(category); item.setCategory(category);
item.setHidden(true); item.setHidden(true);
item.register(plugin); item.register(plugin);
@ -90,25 +103,33 @@ public class TestCategories {
@Test @Test
public void testContains() { public void testContains() {
Category category = SlimefunMocks.getCategory(); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "CATEGORY_TEST_ITEM_2", new CustomItem(Material.BOW, "&6Test Bow"));
SlimefunItem item = SlimefunMocks.mockSlimefunItem("CATEGORY_TEST_ITEM_2", new CustomItem(Material.BOW, "&6Test Bow"));
item.register(plugin); item.register(plugin);
item.load(); item.load();
Category category = item.getCategory();
Assertions.assertTrue(category.contains(item)); Assertions.assertTrue(category.contains(item));
Assertions.assertFalse(category.contains(null)); Assertions.assertFalse(category.contains(null));
Assertions.assertFalse(category.contains(SlimefunMocks.mockSlimefunItem("NULL", new ItemStack(Material.BEDROCK))));
// Unregistered Item
Assertions.assertFalse(category.contains(SlimefunMocks.mockSlimefunItem(plugin, "NULL", new ItemStack(Material.BEDROCK))));
} }
@Test @Test
public void testLockedCategories() { public void testLockedCategories() {
Assertions.assertThrows(IllegalArgumentException.class, () -> new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), (NamespacedKey) null)); Assertions.assertThrows(IllegalArgumentException.class, () -> new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), (NamespacedKey) null));
Category category = SlimefunMocks.getCategory(); Category category = new Category(new NamespacedKey(plugin, "unlocked"), new CustomItem(Material.EMERALD, "&5I am SHERlocked"));
LockedCategory locked = new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), category.getKey()); category.register();
Category unregistered = new Category(new NamespacedKey(plugin, "unregistered"), new CustomItem(Material.EMERALD, "&5I am unregistered"));
LockedCategory locked = new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), category.getKey(), unregistered.getKey());
locked.register(); locked.register();
Assertions.assertTrue(locked.getParents().contains(category)); Assertions.assertTrue(locked.getParents().contains(category));
Assertions.assertFalse(locked.getParents().contains(unregistered));
locked.removeParent(category); locked.removeParent(category);
Assertions.assertFalse(locked.getParents().contains(category)); Assertions.assertFalse(locked.getParents().contains(category));
@ -125,7 +146,7 @@ public class TestCategories {
// Category with current Month // Category with current Month
Month month = LocalDate.now().getMonth(); Month month = LocalDate.now().getMonth();
SeasonalCategory category = new SeasonalCategory(new NamespacedKey(plugin, "seasonal"), month, 1, new CustomItem(Material.NETHER_STAR, "&cSeasonal Test")); SeasonalCategory category = new SeasonalCategory(new NamespacedKey(plugin, "seasonal"), month, 1, new CustomItem(Material.NETHER_STAR, "&cSeasonal Test"));
SlimefunItem item = SlimefunMocks.mockSlimefunItem("SEASONAL_ITEM", new CustomItem(Material.NETHER_STAR, "&dSeasonal Test Star")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "SEASONAL_ITEM", new CustomItem(Material.NETHER_STAR, "&dSeasonal Test Star"));
item.setCategory(category); item.setCategory(category);
item.register(plugin); item.register(plugin);
item.load(); item.load();

View File

@ -33,7 +33,7 @@ public class TestItemHandlers {
@Test @Test
public void testIllegalItemHandlers() { public void testIllegalItemHandlers() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_HANDLER_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_HANDLER_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
Assertions.assertThrows(IllegalArgumentException.class, () -> item.addItemHandler()); Assertions.assertThrows(IllegalArgumentException.class, () -> item.addItemHandler());
@ -43,7 +43,7 @@ public class TestItemHandlers {
@Test @Test
public void testItemHandler() { public void testItemHandler() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_HANDLER_TEST_2", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_HANDLER_TEST_2", new CustomItem(Material.DIAMOND, "&cTest"));
MockItemHandler handler = new MockItemHandler(); MockItemHandler handler = new MockItemHandler();
item.addItemHandler(handler); item.addItemHandler(handler);

View File

@ -32,7 +32,7 @@ public class TestItemSettings {
@Test @Test
public void testIllegalItemSettings() { public void testIllegalItemSettings() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_SETTINGS_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_SETTINGS_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
Assertions.assertThrows(IllegalArgumentException.class, () -> new ItemSetting<>("prematureInvocation", "Hello world").getValue()); Assertions.assertThrows(IllegalArgumentException.class, () -> new ItemSetting<>("prematureInvocation", "Hello world").getValue());
@ -43,7 +43,7 @@ public class TestItemSettings {
@Test @Test
public void testAddItemSetting() { public void testAddItemSetting() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_SETTINGS_TEST_2", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_SETTINGS_TEST_2", new CustomItem(Material.DIAMOND, "&cTest"));
ItemSetting<String> setting = new ItemSetting<>("test", "Hello World"); ItemSetting<String> setting = new ItemSetting<>("test", "Hello World");
Assertions.assertTrue(setting.isType(String.class)); Assertions.assertTrue(setting.isType(String.class));
@ -65,7 +65,7 @@ public class TestItemSettings {
@Test @Test
public void testUpdateItemSetting() { public void testUpdateItemSetting() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_SETTINGS_TEST_3", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_SETTINGS_TEST_3", new CustomItem(Material.DIAMOND, "&cTest"));
ItemSetting<String> setting = new ItemSetting<>("test", "Hello World"); ItemSetting<String> setting = new ItemSetting<>("test", "Hello World");
item.addItemSetting(setting); item.addItemSetting(setting);
@ -81,7 +81,7 @@ public class TestItemSettings {
@Test @Test
public void testAlreadyExistingItemSetting() { public void testAlreadyExistingItemSetting() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_SETTINGS_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_SETTINGS_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.addItemSetting(new ItemSetting<>("test", "Hello World")); item.addItemSetting(new ItemSetting<>("test", "Hello World"));
Assertions.assertThrows(IllegalArgumentException.class, () -> item.addItemSetting(new ItemSetting<>("test", "Hello World"))); Assertions.assertThrows(IllegalArgumentException.class, () -> item.addItemSetting(new ItemSetting<>("test", "Hello World")));

View File

@ -39,7 +39,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testSuccessfulRegistration() { public void testSuccessfulRegistration() {
String id = "TEST_ITEM"; String id = "TEST_ITEM";
SlimefunItem item = SlimefunMocks.mockSlimefunItem(id, new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, id, new CustomItem(Material.DIAMOND, "&cTest"));
Assertions.assertEquals(ItemState.UNREGISTERED, item.getState()); Assertions.assertEquals(ItemState.UNREGISTERED, item.getState());
@ -53,7 +53,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testDisabledItem() { public void testDisabledItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("DISABLED_ITEM", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "DISABLED_ITEM", new CustomItem(Material.DIAMOND, "&cTest"));
SlimefunPlugin.getItemCfg().setValue("DISABLED_ITEM.enabled", false); SlimefunPlugin.getItemCfg().setValue("DISABLED_ITEM.enabled", false);
item.register(plugin); item.register(plugin);
@ -63,7 +63,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testWikiPages() { public void testWikiPages() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("WIKI_ITEM", new CustomItem(Material.BOOK, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "WIKI_ITEM", new CustomItem(Material.BOOK, "&cTest"));
item.register(plugin); item.register(plugin);
Assertions.assertFalse(item.getWikipage().isPresent()); Assertions.assertFalse(item.getWikipage().isPresent());
@ -81,7 +81,7 @@ public class TestSlimefunItemRegistration {
@Disabled("This Test provokes a ClassNotFoundException") @Disabled("This Test provokes a ClassNotFoundException")
@Test @Test
public void testGetItemName() { public void testGetItemName() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ITEM_NAME_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ITEM_NAME_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
Assertions.assertEquals(ChatColor.RED + "Test", item.getItemName()); Assertions.assertEquals(ChatColor.RED + "Test", item.getItemName());
@ -89,7 +89,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testVanillaItemFallback() { public void testVanillaItemFallback() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.ACACIA_SIGN, false); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.ACACIA_SIGN, false);
item.register(plugin); item.register(plugin);
Assertions.assertTrue(item.isUseableInWorkbench()); Assertions.assertTrue(item.isUseableInWorkbench());
@ -99,10 +99,10 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testIdConflict() { public void testIdConflict() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("DUPLICATE_ID", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "DUPLICATE_ID", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
SlimefunItem item2 = SlimefunMocks.mockSlimefunItem("DUPLICATE_ID", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item2 = SlimefunMocks.mockSlimefunItem(plugin, "DUPLICATE_ID", new CustomItem(Material.DIAMOND, "&cTest"));
item2.register(plugin); item2.register(plugin);
Assertions.assertEquals(ItemState.ENABLED, item.getState()); Assertions.assertEquals(ItemState.ENABLED, item.getState());
@ -111,7 +111,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testRecipeOutput() { public void testRecipeOutput() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("RECIPE_OUTPUT_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "RECIPE_OUTPUT_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
Assertions.assertEquals(item.getItem(), item.getRecipeOutput()); Assertions.assertEquals(item.getItem(), item.getRecipeOutput());
@ -127,7 +127,7 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testIsItem() { public void testIsItem() {
CustomItem item = new CustomItem(Material.BEACON, "&cItem Test"); CustomItem item = new CustomItem(Material.BEACON, "&cItem Test");
SlimefunItem sfItem = SlimefunMocks.mockSlimefunItem("IS_ITEM_TEST", item); SlimefunItem sfItem = SlimefunMocks.mockSlimefunItem(plugin, "IS_ITEM_TEST", item);
sfItem.register(plugin); sfItem.register(plugin);
Assertions.assertTrue(sfItem.isItem(sfItem.getItem())); Assertions.assertTrue(sfItem.isItem(sfItem.getItem()));
@ -143,14 +143,14 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testCategoryRegistration() { public void testCategoryRegistration() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("CATEGORY_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "CATEGORY_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.register(plugin); item.register(plugin);
item.load(); item.load();
// null should not be a valid argument // null should not be a valid argument
Assertions.assertThrows(IllegalArgumentException.class, () -> item.setCategory(null)); Assertions.assertThrows(IllegalArgumentException.class, () -> item.setCategory(null));
Category category = SlimefunMocks.getCategory(); Category category = item.getCategory();
Category category2 = new Category(new NamespacedKey(plugin, "test2"), new CustomItem(Material.OBSIDIAN, "&6Test 2")); Category category2 = new Category(new NamespacedKey(plugin, "test2"), new CustomItem(Material.OBSIDIAN, "&6Test 2"));
Assertions.assertTrue(category.contains(item)); Assertions.assertTrue(category.contains(item));
@ -165,12 +165,12 @@ public class TestSlimefunItemRegistration {
@Test @Test
public void testHiddenItem() { public void testHiddenItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("HIDDEN_TEST", new CustomItem(Material.DIAMOND, "&cTest")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "HIDDEN_TEST", new CustomItem(Material.DIAMOND, "&cTest"));
item.setHidden(true); item.setHidden(true);
item.register(plugin); item.register(plugin);
item.load(); item.load();
Category category = SlimefunMocks.getCategory(); Category category = item.getCategory();
Assertions.assertTrue(item.isHidden()); Assertions.assertTrue(item.isHidden());
Assertions.assertFalse(category.contains(item)); Assertions.assertFalse(category.contains(item));

View File

@ -75,7 +75,7 @@ public class TestIronGolemListener {
@Test @Test
public void testWithSlimefunIron() { public void testWithSlimefunIron() {
SlimefunItem slimefunItem = SlimefunMocks.mockSlimefunItem("SLIMEFUN_IRON", new CustomItem(Material.IRON_INGOT, "&cSlimefun Iron")); SlimefunItem slimefunItem = SlimefunMocks.mockSlimefunItem(plugin, "SLIMEFUN_IRON", new CustomItem(Material.IRON_INGOT, "&cSlimefun Iron"));
slimefunItem.register(plugin); slimefunItem.register(plugin);
// The Event should be cancelled, we do not wanna use Slimefun Items for this // The Event should be cancelled, we do not wanna use Slimefun Items for this
@ -88,7 +88,7 @@ public class TestIronGolemListener {
@Test @Test
public void testWithVanillaIron() { public void testWithVanillaIron() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.IRON_INGOT, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.IRON_INGOT, true);
item.register(plugin); item.register(plugin);
PlayerInteractEntityEvent event = callIronGolemEvent(EquipmentSlot.HAND, item.getItem()); PlayerInteractEntityEvent event = callIronGolemEvent(EquipmentSlot.HAND, item.getItem());

View File

@ -128,7 +128,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testGrindStoneWithSlimefunItem() { public void testGrindStoneWithSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("ENCHANTED_MOCK_BOOK", new CustomItem(Material.ENCHANTED_BOOK, "&6Mock")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "ENCHANTED_MOCK_BOOK", new CustomItem(Material.ENCHANTED_BOOK, "&6Mock"));
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockGrindStoneEvent(item.getItem()); InventoryClickEvent event = mockGrindStoneEvent(item.getItem());
@ -137,7 +137,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testGrindStoneWithVanillaItem() { public void testGrindStoneWithVanillaItem() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.ENCHANTED_BOOK, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.ENCHANTED_BOOK, true);
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockGrindStoneEvent(item.getItem()); InventoryClickEvent event = mockGrindStoneEvent(item.getItem());
@ -158,7 +158,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testCraftEventWithSlimefunItem() { public void testCraftEventWithSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MOCK_DIAMOND", new CustomItem(Material.DIAMOND, "&cMock Diamond")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MOCK_DIAMOND", new CustomItem(Material.DIAMOND, "&cMock Diamond"));
item.register(plugin); item.register(plugin);
CraftItemEvent event = mockCraftingEvent(item.getItem()); CraftItemEvent event = mockCraftingEvent(item.getItem());
@ -167,7 +167,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testCraftEventWithChangingSlimefunItem() { public void testCraftEventWithChangingSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("CHANGING_ITEM", new CustomItem(Material.DIAMOND, "&dChanging Diamond")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "CHANGING_ITEM", new CustomItem(Material.DIAMOND, "&dChanging Diamond"));
item.register(plugin); item.register(plugin);
item.setUseableInWorkbench(true); item.setUseableInWorkbench(true);
@ -181,7 +181,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testCraftEventWithVanillaItem() { public void testCraftEventWithVanillaItem() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.DIAMOND, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.DIAMOND, true);
item.register(plugin); item.register(plugin);
CraftItemEvent event = mockCraftingEvent(item.getItem()); CraftItemEvent event = mockCraftingEvent(item.getItem());
@ -196,7 +196,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testPreCraftEventWithSlimefunItem() { public void testPreCraftEventWithSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MOCK_DIAMOND2", new CustomItem(Material.DIAMOND, "&cMock Diamond")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MOCK_DIAMOND2", new CustomItem(Material.DIAMOND, "&cMock Diamond"));
item.register(plugin); item.register(plugin);
PrepareItemCraftEvent event = mockPreCraftingEvent(item.getItem()); PrepareItemCraftEvent event = mockPreCraftingEvent(item.getItem());
@ -205,13 +205,13 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testPreCraftEventWithVanillaItem() { public void testPreCraftEventWithVanillaItem() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.GOLD_INGOT, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.GOLD_INGOT, true);
item.register(plugin); item.register(plugin);
PrepareItemCraftEvent event = mockPreCraftingEvent(item.getItem()); PrepareItemCraftEvent event = mockPreCraftingEvent(item.getItem());
Assertions.assertNotNull(event.getInventory().getResult()); Assertions.assertNotNull(event.getInventory().getResult());
} }
@Test @Test
public void testAnvilWithoutSlimefunItems() { public void testAnvilWithoutSlimefunItems() {
InventoryClickEvent event = mockAnvilEvent(new ItemStack(Material.IRON_SWORD)); InventoryClickEvent event = mockAnvilEvent(new ItemStack(Material.IRON_SWORD));
@ -220,7 +220,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testAnvilWithSlimefunItem() { public void testAnvilWithSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MOCKED_IRON_SWORD", new CustomItem(Material.IRON_SWORD, "&6Mock")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MOCKED_IRON_SWORD", new CustomItem(Material.IRON_SWORD, "&6Mock"));
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockAnvilEvent(item.getItem()); InventoryClickEvent event = mockAnvilEvent(item.getItem());
@ -229,13 +229,13 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testAnvilWithVanillaItem() { public void testAnvilWithVanillaItem() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.IRON_SWORD, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.IRON_SWORD, true);
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockAnvilEvent(item.getItem()); InventoryClickEvent event = mockAnvilEvent(item.getItem());
Assertions.assertEquals(Result.DEFAULT, event.getResult()); Assertions.assertEquals(Result.DEFAULT, event.getResult());
} }
@Test @Test
public void testBrewingWithoutSlimefunItems() { public void testBrewingWithoutSlimefunItems() {
InventoryClickEvent event = mockBrewingEvent(new ItemStack(Material.BLAZE_POWDER)); InventoryClickEvent event = mockBrewingEvent(new ItemStack(Material.BLAZE_POWDER));
@ -244,7 +244,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testBrewingWithSlimefunItem() { public void testBrewingWithSlimefunItem() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MOCK_POWDER", new CustomItem(Material.BLAZE_POWDER, "&6Mock")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MOCK_POWDER", new CustomItem(Material.BLAZE_POWDER, "&6Mock"));
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockBrewingEvent(item.getItem()); InventoryClickEvent event = mockBrewingEvent(item.getItem());
@ -253,7 +253,7 @@ public class TestVanillaMachinesListener {
@Test @Test
public void testBrewingithVanillaItem() { public void testBrewingithVanillaItem() {
VanillaItem item = SlimefunMocks.mockVanillaItem(Material.BLAZE_POWDER, true); VanillaItem item = SlimefunMocks.mockVanillaItem(plugin, Material.BLAZE_POWDER, true);
item.register(plugin); item.register(plugin);
InventoryClickEvent event = mockBrewingEvent(item.getItem()); InventoryClickEvent event = mockBrewingEvent(item.getItem());

View File

@ -11,13 +11,17 @@ import be.seeseemelk.mockbukkit.MockBukkit;
import io.github.thebusybiscuit.cscorelib2.item.CustomItem; import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.core.MultiBlock; import io.github.thebusybiscuit.slimefun4.core.MultiBlock;
import io.github.thebusybiscuit.slimefun4.mocks.SlimefunMocks; import io.github.thebusybiscuit.slimefun4.mocks.SlimefunMocks;
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
public class TestMultiBlocks { public class TestMultiBlocks {
private static SlimefunPlugin plugin;
@BeforeAll @BeforeAll
public static void load() { public static void load() {
MockBukkit.mock(); MockBukkit.mock();
plugin = MockBukkit.load(SlimefunPlugin.class);
} }
@AfterAll @AfterAll
@ -27,7 +31,7 @@ public class TestMultiBlocks {
@Test @Test
public void testInvalidConstructors() { public void testInvalidConstructors() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test"));
Assertions.assertThrows(IllegalArgumentException.class, () -> new MultiBlock(null, null, null)); Assertions.assertThrows(IllegalArgumentException.class, () -> new MultiBlock(null, null, null));
@ -39,7 +43,7 @@ public class TestMultiBlocks {
@Test @Test
public void testValidConstructor() { public void testValidConstructor() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test"));
MultiBlock multiblock = new MultiBlock(item, new Material[9], BlockFace.DOWN); MultiBlock multiblock = new MultiBlock(item, new Material[9], BlockFace.DOWN);
Assertions.assertEquals(item, multiblock.getSlimefunItem()); Assertions.assertEquals(item, multiblock.getSlimefunItem());
@ -49,7 +53,7 @@ public class TestMultiBlocks {
@Test @Test
public void testSymmetry() { public void testSymmetry() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test"));
MultiBlock multiblock = new MultiBlock(item, new Material[] { null, null, null, Material.DIAMOND_BLOCK, null, Material.DIAMOND_BLOCK, null, Material.DISPENSER, null }, BlockFace.DOWN); MultiBlock multiblock = new MultiBlock(item, new Material[] { null, null, null, Material.DIAMOND_BLOCK, null, Material.DIAMOND_BLOCK, null, Material.DISPENSER, null }, BlockFace.DOWN);
@ -62,7 +66,7 @@ public class TestMultiBlocks {
@Test @Test
public void testEquality() { public void testEquality() {
SlimefunItem item = SlimefunMocks.mockSlimefunItem("MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "MULTIBLOCK_TEST", new CustomItem(Material.BRICK, "&5Multiblock Test"));
MultiBlock multiblock = new MultiBlock(item, new Material[] { Material.BIRCH_WOOD, Material.BIRCH_WOOD, Material.BIRCH_WOOD, null, Material.CRAFTING_TABLE, null, Material.BIRCH_WOOD, Material.DISPENSER, Material.BIRCH_WOOD }, BlockFace.DOWN); MultiBlock multiblock = new MultiBlock(item, new Material[] { Material.BIRCH_WOOD, Material.BIRCH_WOOD, Material.BIRCH_WOOD, null, Material.CRAFTING_TABLE, null, Material.BIRCH_WOOD, Material.DISPENSER, Material.BIRCH_WOOD }, BlockFace.DOWN);

View File

@ -61,7 +61,7 @@ public class TestResearches {
public void testResearchRegistration() { public void testResearchRegistration() {
NamespacedKey key = new NamespacedKey(plugin, "testResearch"); NamespacedKey key = new NamespacedKey(plugin, "testResearch");
Research research = new Research(key, 1, "Test", 100); Research research = new Research(key, 1, "Test", 100);
SlimefunItem item = SlimefunMocks.mockSlimefunItem("RESEARCH_TEST", new CustomItem(Material.TORCH, "&bResearch Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "RESEARCH_TEST", new CustomItem(Material.TORCH, "&bResearch Test"));
research.addItems(item, null); research.addItems(item, null);
research.register(); research.register();
@ -80,7 +80,7 @@ public class TestResearches {
public void testDisabledResearch() { public void testDisabledResearch() {
NamespacedKey key = new NamespacedKey(plugin, "disabledResearch"); NamespacedKey key = new NamespacedKey(plugin, "disabledResearch");
Research research = new Research(key, 2, "Test", 100); Research research = new Research(key, 2, "Test", 100);
SlimefunItem item = SlimefunMocks.mockSlimefunItem("RESEARCH_TEST", new CustomItem(Material.TORCH, "&bResearch Test")); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "RESEARCH_TEST", new CustomItem(Material.TORCH, "&bResearch Test"));
research.addItems(item); research.addItems(item);
SlimefunPlugin.getRegistry().setResearchingEnabled(true); SlimefunPlugin.getRegistry().setResearchingEnabled(true);

View File

@ -38,7 +38,7 @@ public class TextCustomTextureService {
Assertions.assertFalse(service.isActive()); Assertions.assertFalse(service.isActive());
Assertions.assertNull(service.getVersion()); Assertions.assertNull(service.getVersion());
SlimefunItem item = SlimefunMocks.mockSlimefunItem("TEXTURE_TEST", new ItemStack(Material.LANTERN)); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "TEXTURE_TEST", new ItemStack(Material.LANTERN));
service.register(Arrays.asList(null, item, null), false); service.register(Arrays.asList(null, item, null), false);
Assertions.assertThrows(IllegalArgumentException.class, () -> service.register(null, false)); Assertions.assertThrows(IllegalArgumentException.class, () -> service.register(null, false));
@ -53,7 +53,7 @@ public class TextCustomTextureService {
@Test @Test
public void testSetTexture() throws NoSuchFieldException, IllegalAccessException { public void testSetTexture() throws NoSuchFieldException, IllegalAccessException {
CustomTextureService service = new CustomTextureService(plugin); CustomTextureService service = new CustomTextureService(plugin);
SlimefunItem item = SlimefunMocks.mockSlimefunItem("TEXTURE_TEST", new ItemStack(Material.LANTERN)); SlimefunItem item = SlimefunMocks.mockSlimefunItem(plugin, "TEXTURE_TEST", new ItemStack(Material.LANTERN));
String version = "Unit Test v1.0"; String version = "Unit Test v1.0";
Config config = (Config) ReflectionUtils.getFieldValue(service, "config"); Config config = (Config) ReflectionUtils.getFieldValue(service, "config");