Sharing test preparation
This commit is contained in:
parent
0160b4146f
commit
3bab090fc7
2 changed files with 39 additions and 24 deletions
38
src/main/java/buttondevteam/core/TestPrepare.java
Normal file
38
src/main/java/buttondevteam/core/TestPrepare.java
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
package buttondevteam.core;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Server;
|
||||||
|
import org.bukkit.plugin.PluginManager;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.mockito.invocation.InvocationOnMock;
|
||||||
|
import org.mockito.stubbing.Answer;
|
||||||
|
|
||||||
|
public class TestPrepare {
|
||||||
|
public static void PrepareServer() {
|
||||||
|
Bukkit.setServer(Mockito.mock(Server.class, new Answer<Object>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object answer(InvocationOnMock invocation) throws Throwable {
|
||||||
|
// System.out.println("Return type: " + invocation.getMethod().getReturnType());
|
||||||
|
// System.out.println(String.class.isAssignableFrom(invocation.getMethod().getReturnType()));
|
||||||
|
if (returns(invocation, String.class))
|
||||||
|
return "test";
|
||||||
|
if (returns(invocation, Logger.class))
|
||||||
|
return Logger.getAnonymousLogger();
|
||||||
|
if (returns(invocation, PluginManager.class))
|
||||||
|
return Mockito.mock(PluginManager.class);
|
||||||
|
if (returns(invocation, Collection.class))
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean returns(InvocationOnMock invocation, Class<?> cl) {
|
||||||
|
return cl.isAssignableFrom(invocation.getMethod().getReturnType());
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,15 +1,6 @@
|
||||||
package buttondevteam.core;
|
package buttondevteam.core;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Server;
|
|
||||||
import org.bukkit.plugin.PluginManager;
|
|
||||||
import org.mockito.Mockito;
|
|
||||||
import org.mockito.invocation.InvocationOnMock;
|
|
||||||
import org.mockito.stubbing.Answer;
|
|
||||||
|
|
||||||
import buttondevteam.core.TestPlayerClass.TestEnum;
|
import buttondevteam.core.TestPlayerClass.TestEnum;
|
||||||
import buttondevteam.lib.player.TBMCPlayerBase;
|
import buttondevteam.lib.player.TBMCPlayerBase;
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
|
@ -29,21 +20,7 @@ public class PlayerDataTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testConfig() {
|
public void testConfig() {
|
||||||
Bukkit.setServer(Mockito.mock(Server.class, new Answer<Object>() {
|
TestPrepare.PrepareServer();
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object answer(InvocationOnMock invocation) throws Throwable {
|
|
||||||
// System.out.println("Return type: " + invocation.getMethod().getReturnType());
|
|
||||||
// System.out.println(String.class.isAssignableFrom(invocation.getMethod().getReturnType()));
|
|
||||||
if (String.class.isAssignableFrom(invocation.getMethod().getReturnType()))
|
|
||||||
return "";
|
|
||||||
if (Logger.class.isAssignableFrom(invocation.getMethod().getReturnType()))
|
|
||||||
return Logger.getAnonymousLogger();
|
|
||||||
if (PluginManager.class.isAssignableFrom(invocation.getMethod().getReturnType()))
|
|
||||||
return Mockito.mock(PluginManager.class);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
UUID uuid = new UUID(0L, 0L);
|
UUID uuid = new UUID(0L, 0L);
|
||||||
try (TestPlayerClass p = TBMCPlayerBase.getPlayer(uuid, TestPlayerClass.class)) {
|
try (TestPlayerClass p = TBMCPlayerBase.getPlayer(uuid, TestPlayerClass.class)) {
|
||||||
p.PlayerName().set("Test");
|
p.PlayerName().set("Test");
|
||||||
|
|
Loading…
Reference in a new issue