From 7a241f898d65f643be0d476a549b3b9d155bcb62 Mon Sep 17 00:00:00 2001 From: tastybento Date: Fri, 31 May 2024 17:13:05 -0700 Subject: [PATCH] Fix tests to run with latest BentoBox --- .../java/world/bentobox/level/LevelTest.java | 18 ++++++++++++++++-- .../bentobox/level/PlaceholderManagerTest.java | 4 ++-- .../commands/AdminTopRemoveCommandTest.java | 6 +++--- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/test/java/world/bentobox/level/LevelTest.java b/src/test/java/world/bentobox/level/LevelTest.java index 5f8074a..3c9362b 100644 --- a/src/test/java/world/bentobox/level/LevelTest.java +++ b/src/test/java/world/bentobox/level/LevelTest.java @@ -2,7 +2,9 @@ package world.bentobox.level; import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -19,6 +21,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.Optional; import java.util.UUID; +import java.util.function.Consumer; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.logging.Logger; @@ -30,7 +33,9 @@ import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemFactory; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitScheduler; import org.eclipse.jdt.annotation.NonNull; import org.junit.After; @@ -47,6 +52,8 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; +import com.github.puregero.multilib.MultiLib; + import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.Settings; import world.bentobox.bentobox.api.addons.AddonDescription; @@ -72,7 +79,7 @@ import world.bentobox.level.listeners.JoinLeaveListener; */ @SuppressWarnings("deprecation") @RunWith(PowerMockRunner.class) -@PrepareForTest({ Bukkit.class, BentoBox.class, User.class }) +@PrepareForTest({ Bukkit.class, BentoBox.class, User.class, MultiLib.class }) public class LevelTest { private static File jFile; @@ -144,8 +151,15 @@ public class LevelTest { /** * @throws java.lang.Exception */ - @Before + @SuppressWarnings("unchecked") + @Before public void setUp() throws Exception { + // Mock MultiLib + PowerMockito.mockStatic(MultiLib.class); + // Mock the behavior of the onString method + PowerMockito.doNothing().when(MultiLib.class); + MultiLib.onString(any(Plugin.class), anyString(), (Consumer) any(Consumer.class)); + // Set up plugin Whitebox.setInternalState(BentoBox.class, "instance", plugin); when(plugin.getLogger()).thenReturn(Logger.getAnonymousLogger()); diff --git a/src/test/java/world/bentobox/level/PlaceholderManagerTest.java b/src/test/java/world/bentobox/level/PlaceholderManagerTest.java index 56f0a1d..10bf0d0 100644 --- a/src/test/java/world/bentobox/level/PlaceholderManagerTest.java +++ b/src/test/java/world/bentobox/level/PlaceholderManagerTest.java @@ -9,9 +9,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; @@ -138,7 +138,7 @@ public class PlaceholderManagerTest { when(im.getIsland(any(World.class), any(User.class))).thenReturn(island); when(im.getIslandAt(any(Location.class))).thenReturn(Optional.of(island)); when(im.getIslandById(anyString())).thenAnswer((Answer>) invocation -> Optional.of(islands.get(invocation.getArgument(0, String.class)))); - when(im.getIslands(any(), any(UUID.class))).thenReturn(new HashSet<>(islands.values())); + when(im.getIslands(any(), any(UUID.class))).thenReturn(new ArrayList<>(islands.values())); when(addon.getIslands()).thenReturn(im); // Levels Manager diff --git a/src/test/java/world/bentobox/level/commands/AdminTopRemoveCommandTest.java b/src/test/java/world/bentobox/level/commands/AdminTopRemoveCommandTest.java index 9e82384..8a49c25 100644 --- a/src/test/java/world/bentobox/level/commands/AdminTopRemoveCommandTest.java +++ b/src/test/java/world/bentobox/level/commands/AdminTopRemoveCommandTest.java @@ -10,7 +10,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.Collections; -import java.util.Set; +import java.util.List; import java.util.UUID; import org.bukkit.Bukkit; @@ -120,8 +120,8 @@ public class AdminTopRemoveCommandTest { when(island.getOwner()).thenReturn(uuid); // Island Manager when(plugin.getIslands()).thenReturn(im); - when(im.getIslands(any(), any(User.class))).thenReturn(Set.of(island)); - when(im.getIslands(any(), any(UUID.class))).thenReturn(Set.of(island)); + when(im.getIslands(any(), any(User.class))).thenReturn(List.of(island)); + when(im.getIslands(any(), any(UUID.class))).thenReturn(List.of(island)); // Bukkit PowerMockito.mockStatic(Bukkit.class);