File powermock-mockito.patch of Package powermock

From 128b5fc03ebc07368906efabe58cb8987dab1c80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Tue, 23 Apr 2024 15:18:11 +0200
Subject: [PATCH 1/3] Upgrade mockito

---
 build.gradle                                     |  6 +++---
 .../extension/listener/AnnotationEnabler.java    |  2 +-
 .../PowerMockitoInjectingAnnotationEngine.java   |  9 ++++++---
 .../PowerMockitoSpyAnnotationEngine.java         |  3 ++-
 .../mockito/invocation/InvocationFactory.java    | 10 +++++-----
 .../github793/PowerMockStaticMockingTest.java    |  8 ++++----
 .../agent/MockFinalNonStaticMethodsTest.java     | 14 --------------
 .../junit4/agent/MockStaticTest.java             | 16 ----------------
 .../junit4/agent/PrivateInstanceMockingTest.java | 14 --------------
 .../delegate/parameterized/FinalDemoTest.java    |  2 +-
 .../objenesis/MockFinalNonStaticMethodsTest.java | 15 ---------------
 .../objenesis/PrivateInstanceMockingTest.java    | 15 ---------------
 .../xstream/MockFinalNonStaticMethodsTest.java   | 15 ---------------
 .../rule/xstream/PrivateInstanceMockingTest.java | 15 ---------------
 .../LocationFromStackTraceTest.java              |  2 +-
 .../junit4/staticmocking/MockStaticCases.java    |  4 ++--
 .../powermock/api/mockito/MockitoVersion.java    | 10 +++++++++-
 17 files changed, 34 insertions(+), 126 deletions(-)

diff --git a/build.gradle b/build.gradle
index e51e4f22..d91639c6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -22,18 +22,18 @@ buildscript {
 ext{
     gradleScriptDir = "${rootProject.projectDir}/gradle"
 
-    byteBuddy = "1.10.14"
+    byteBuddy = "1.12.7"
     easymockVersion = "4.0.1"
     hamcrestVersion = "1.3"
     assertjVersion = "2.6.0"
     cglibVersion = "3.2.9"
-    objenesisVersion = "3.0.1"
+    objenesisVersion = "3.2"
     javassistVersion = "3.27.0-GA"
     junitVersion = "4.12"
     junitRulesVersion = "4.8.2"
     testngVersion = "6.9.10"
     xstreamVersion = "1.4.10"
-    mockitoVersion = "3.3.3"
+    mockitoVersion = "4.3.1"
     servletVersion = "2.5"
     jacocoVersion = "0.7.7.201606060606"
     eclipseJdt = "3.3.0-v_771"
diff --git a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/extension/listener/AnnotationEnabler.java b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/extension/listener/AnnotationEnabler.java
index 70a9425c..575c5190 100644
--- a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/extension/listener/AnnotationEnabler.java
+++ b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/extension/listener/AnnotationEnabler.java
@@ -82,7 +82,7 @@ public class AnnotationEnabler extends AbstractPowerMockTestListenerBase impleme
                 MockSettings mockSettings = withSettings();
                 Answers answers = mockAnnotation.answer();
                 if (answers != null) {
-                    mockSettings.defaultAnswer(answers.get());
+                    mockSettings.defaultAnswer(answers);
                 }
 
                 Class<?>[] extraInterfaces = mockAnnotation.extraInterfaces();
diff --git a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoInjectingAnnotationEngine.java b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoInjectingAnnotationEngine.java
index c374b9fd..415426c7 100644
--- a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoInjectingAnnotationEngine.java
+++ b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoInjectingAnnotationEngine.java
@@ -17,6 +17,7 @@
 package org.powermock.api.mockito.internal.configuration;
 
 import org.mockito.Mock;
+import org.mockito.internal.MockitoCore;
 import org.mockito.internal.configuration.InjectingAnnotationEngine;
 import org.mockito.internal.configuration.plugins.Plugins;
 import org.powermock.api.mockito.internal.mockcreation.DefaultMockCreator;
@@ -27,10 +28,10 @@ import org.powermock.api.mockito.internal.mockcreation.DefaultMockCreator;
  * {@link Mock}.
  */
 public class PowerMockitoInjectingAnnotationEngine extends InjectingAnnotationEngine {
-    
+
     @SuppressWarnings("deprecation")
     @Override
-    public void process(Class<?> context, Object testClass) {
+    public AutoCloseable process(Class<?> context, Object testClass) {
         // this will create @Spies:
         new PowerMockitoSpyAnnotationEngine().process(context, testClass);
         
@@ -38,14 +39,16 @@ public class PowerMockitoInjectingAnnotationEngine extends InjectingAnnotationEn
         
         // this injects mocks
         injectMocks(testClass);
+        return null;
     }
     
     private void preLoadPluginLoader() {
         final ClassLoader originalCL = Thread.currentThread().getContextClassLoader();
-        
+
         Thread.currentThread().setContextClassLoader(DefaultMockCreator.class.getClassLoader());
         
         try {
+            MockitoCore mc = new MockitoCore();
             Plugins.getMockMaker();
         } finally {
             Thread.currentThread().setContextClassLoader(originalCL);
diff --git a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoSpyAnnotationEngine.java b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoSpyAnnotationEngine.java
index 55909164..f8158570 100644
--- a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoSpyAnnotationEngine.java
+++ b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/internal/configuration/PowerMockitoSpyAnnotationEngine.java
@@ -34,7 +34,7 @@ public class PowerMockitoSpyAnnotationEngine extends SpyAnnotationEngine {
 
 	@SuppressWarnings("deprecation")
 	@Override
-	public void process(Class<?> context, Object testClass) {
+	public AutoCloseable process(Class<?> context, Object testClass) {
 		Field[] fields = context.getDeclaredFields();
 		for (Field field : fields) {
 			if (field.isAnnotationPresent(Spy.class)) {
@@ -63,5 +63,6 @@ public class PowerMockitoSpyAnnotationEngine extends SpyAnnotationEngine {
 				}
 			}
 		}
+		return null;
 	}
 }
diff --git a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/invocation/InvocationFactory.java b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/invocation/InvocationFactory.java
index 5652a77a..c02c37e7 100644
--- a/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/invocation/InvocationFactory.java
+++ b/powermock-api/powermock-api-mockito2/src/main/java/org/powermock/api/mockito/invocation/InvocationFactory.java
@@ -20,6 +20,7 @@ package org.powermock.api.mockito.invocation;
 
 import org.mockito.Mockito;
 import org.mockito.invocation.Invocation;
+import org.mockito.invocation.InvocationFactory.RealMethodBehavior;
 import org.mockito.mock.MockCreationSettings;
 import org.powermock.api.support.SafeExceptionRethrower;
 import org.powermock.core.MockGateway;
@@ -29,21 +30,20 @@ import org.powermock.reflect.Whitebox;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.concurrent.Callable;
 
 class InvocationFactory {
     
     Invocation createInvocation(final Object mock, final Method method, final MockCreationSettings settings,
                                 final Object... arguments) {
-        final Callable realMethod = createRealMethod(mock, method, arguments);
+        final RealMethodBehavior realMethod = createRealMethod(mock, method, arguments);
         return Mockito.framework()
                       .getInvocationFactory()
                       .createInvocation(mock, settings, method, realMethod, arguments);
     }
     
-    private Callable createRealMethod(final Object delegator, final Method method,
-                                      final Object... arguments) {
-        return new Callable() {
+    private RealMethodBehavior createRealMethod(final Object delegator, final Method method,
+                                                                                         final Object... arguments) {
+        return new RealMethodBehavior() {
             @Override
             public Object call() throws Exception {
                 final Class<?> type = Whitebox.getType(delegator);
diff --git a/tests/mockito/inline/src/test/java/samples/powermockito/inline/bugs/github793/PowerMockStaticMockingTest.java b/tests/mockito/inline/src/test/java/samples/powermockito/inline/bugs/github793/PowerMockStaticMockingTest.java
index 0d0763cc..8e7268d6 100644
--- a/tests/mockito/inline/src/test/java/samples/powermockito/inline/bugs/github793/PowerMockStaticMockingTest.java
+++ b/tests/mockito/inline/src/test/java/samples/powermockito/inline/bugs/github793/PowerMockStaticMockingTest.java
@@ -39,8 +39,8 @@ public class PowerMockStaticMockingTest {
     @Test
     public void should_mock_static_method_when_mockito_inline_mock_creator_for_mockito_tests() {
 
-        assumeTrue("Test makes sense only for Mockito 2 & 3",
-                MockitoVersion.isMockito2() || MockitoVersion.isMockito3());
+        assumeTrue("Test makes sense only for Mockito 2 & 3 & 4",
+                MockitoVersion.isMockito2() || MockitoVersion.isMockito3() || MockitoVersion.isMockito4());
     
         PowerMockito.mockStatic(StaticClass.class);
         
@@ -56,8 +56,8 @@ public class PowerMockStaticMockingTest {
     @Test
     public void should_verify_static_method_when_mockito_inline_mock_creator_for_mockito_tests() throws Exception {
 
-        assumeTrue("Test makes sense only for Mockito 2 & 3",
-                MockitoVersion.isMockito2() || MockitoVersion.isMockito3());
+        assumeTrue("Test makes sense only for Mockito 2 & 3 & 4",
+                MockitoVersion.isMockito2() || MockitoVersion.isMockito3() || MockitoVersion.isMockito4());
     
         PowerMockito.mockStatic(StaticClass.class);
     
diff --git a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockFinalNonStaticMethodsTest.java b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockFinalNonStaticMethodsTest.java
index 11a58ed7..dc14d6ed 100644
--- a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockFinalNonStaticMethodsTest.java
+++ b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockFinalNonStaticMethodsTest.java
@@ -16,26 +16,12 @@
 package samples.powermockito.junit4.agent;
 
 import org.junit.Rule;
-import org.junit.Test;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.finalmocking.FinalDemo;
 import samples.powermockito.junit4.finalmocking.MockFinalMethodsCases;
 import samples.privateandfinal.PrivateFinal;
 
-import java.lang.reflect.Method;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.doThrow;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.support.membermodification.MemberMatcher.method;
 
 /**
  * Test class to demonstrate non-static final mocking with Mockito.
diff --git a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockStaticTest.java b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockStaticTest.java
index aa9799fe..10d48653 100644
--- a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockStaticTest.java
+++ b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/MockStaticTest.java
@@ -16,28 +16,12 @@
 package samples.powermockito.junit4.agent;
 
 import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.exceptions.base.MockitoAssertionError;
-import org.mockito.exceptions.verification.TooLittleActualInvocations;
-import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.powermockito.junit4.staticmocking.MockStaticCases;
 import samples.singleton.SimpleStaticService;
-import samples.singleton.StaticHelper;
 import samples.singleton.StaticService;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.atLeastOnce;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.doThrow;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyStatic;
-
 /**
  * Test class to demonstrate static mocking with PowerMockito.
  */
diff --git a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/PrivateInstanceMockingTest.java b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/PrivateInstanceMockingTest.java
index c4298352..7f9669a5 100644
--- a/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/PrivateInstanceMockingTest.java
+++ b/tests/mockito/junit4-agent/src/test/java/samples/powermockito/junit4/agent/PrivateInstanceMockingTest.java
@@ -1,25 +1,11 @@
 package samples.powermockito.junit4.agent;
 
 import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.mockito.exceptions.base.MockitoAssertionError;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.powermockito.junit4.privatemocking.PrivateInstanceMockingCases;
-import samples.privateandfinal.PrivateFinal;
 import samples.privatemocking.PrivateMethodDemo;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.never;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-
 @PrepareForTest( { PrivateMethodDemo.class })
 public class PrivateInstanceMockingTest extends PrivateInstanceMockingCases {
     @Rule
diff --git a/tests/mockito/junit4-delegate/src/test/java/powermock/modules/test/mockito/junit4/delegate/parameterized/FinalDemoTest.java b/tests/mockito/junit4-delegate/src/test/java/powermock/modules/test/mockito/junit4/delegate/parameterized/FinalDemoTest.java
index 2bef0aa7..5f9c5769 100644
--- a/tests/mockito/junit4-delegate/src/test/java/powermock/modules/test/mockito/junit4/delegate/parameterized/FinalDemoTest.java
+++ b/tests/mockito/junit4-delegate/src/test/java/powermock/modules/test/mockito/junit4/delegate/parameterized/FinalDemoTest.java
@@ -30,7 +30,7 @@ import samples.privateandfinal.PrivateFinal;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.isA;
+import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.powermock.api.mockito.PowerMockito.*;
diff --git a/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/MockFinalNonStaticMethodsTest.java b/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/MockFinalNonStaticMethodsTest.java
index dad50b07..9ccfe7f1 100644
--- a/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/MockFinalNonStaticMethodsTest.java
+++ b/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/MockFinalNonStaticMethodsTest.java
@@ -16,27 +16,12 @@
 package samples.powermockito.junit4.rule.objenesis;
 
 import org.junit.Rule;
-import org.junit.Test;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.finalmocking.FinalDemo;
 import samples.powermockito.junit4.finalmocking.MockFinalMethodsCases;
 import samples.privateandfinal.PrivateFinal;
 
-import java.lang.reflect.Method;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.doThrow;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.support.membermodification.MemberMatcher.method;
-
 /**
  * Test class to demonstrate non-static final mocking with Mockito.
  */
diff --git a/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/PrivateInstanceMockingTest.java b/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/PrivateInstanceMockingTest.java
index 4894acf4..5cff8eb5 100644
--- a/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/PrivateInstanceMockingTest.java
+++ b/tests/mockito/junit4-rule-objenesis/src/test/java/samples/powermockito/junit4/rule/objenesis/PrivateInstanceMockingTest.java
@@ -1,26 +1,11 @@
 package samples.powermockito.junit4.rule.objenesis;
 
 import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.mockito.exceptions.base.MockitoAssertionError;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.powermockito.junit4.privatemocking.PrivateInstanceMockingCases;
-import samples.privateandfinal.PrivateFinal;
 import samples.privatemocking.PrivateMethodDemo;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.never;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-
 @PrepareForTest( { PrivateMethodDemo.class })
 public class PrivateInstanceMockingTest extends PrivateInstanceMockingCases {
     @Rule
diff --git a/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/MockFinalNonStaticMethodsTest.java b/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/MockFinalNonStaticMethodsTest.java
index 67dbadac..6f1e4cc0 100644
--- a/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/MockFinalNonStaticMethodsTest.java
+++ b/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/MockFinalNonStaticMethodsTest.java
@@ -16,27 +16,12 @@
 package samples.powermockito.junit4.rule.xstream;
 
 import org.junit.Rule;
-import org.junit.Test;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.finalmocking.FinalDemo;
 import samples.powermockito.junit4.finalmocking.MockFinalMethodsCases;
 import samples.privateandfinal.PrivateFinal;
 
-import java.lang.reflect.Method;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.doThrow;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.support.membermodification.MemberMatcher.method;
-
 /**
  * Test class to demonstrate non-static final mocking with Mockito.
  */
diff --git a/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/PrivateInstanceMockingTest.java b/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/PrivateInstanceMockingTest.java
index 665376f4..b1eda541 100644
--- a/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/PrivateInstanceMockingTest.java
+++ b/tests/mockito/junit4-rule-xstream/src/test/java/samples/powermockito/junit4/rule/xstream/PrivateInstanceMockingTest.java
@@ -1,26 +1,11 @@
 package samples.powermockito.junit4.rule.xstream;
 
 import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.mockito.exceptions.base.MockitoAssertionError;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.rule.PowerMockRule;
 import samples.powermockito.junit4.privatemocking.PrivateInstanceMockingCases;
-import samples.privateandfinal.PrivateFinal;
 import samples.privatemocking.PrivateMethodDemo;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.never;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
-import static org.powermock.api.mockito.PowerMockito.when;
-
 @PrepareForTest( { PrivateMethodDemo.class })
 public class PrivateInstanceMockingTest extends PrivateInstanceMockingCases {
     @Rule
diff --git a/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/stacktracecleaner/LocationFromStackTraceTest.java b/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/stacktracecleaner/LocationFromStackTraceTest.java
index 810caed4..69e57459 100644
--- a/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/stacktracecleaner/LocationFromStackTraceTest.java
+++ b/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/stacktracecleaner/LocationFromStackTraceTest.java
@@ -43,7 +43,7 @@ public class LocationFromStackTraceTest {
                         MockRepository.getStaticMethodInvocationControl(SomethingWithStaticMethod.class);
         MockHandlerAdaptor mockHandlerAdaptor = invocationControl.getMockHandlerAdaptor();
         Object mock = mockHandlerAdaptor.getMock();
-        MockHandler<Object> mockHandler = MockUtil.getMockHandler(mock);
+        MockHandler<?> mockHandler = MockUtil.getMockHandler(mock);
         InvocationContainerImpl invocationContainer = (InvocationContainerImpl)mockHandler.getInvocationContainer();
         List<Stubbing> stubbings = new ArrayList<Stubbing>(invocationContainer.getStubbingsAscending());
         assertThat(stubbings.size(), is(3));
diff --git a/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/staticmocking/MockStaticCases.java b/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/staticmocking/MockStaticCases.java
index 240a7372..1d271d3e 100644
--- a/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/staticmocking/MockStaticCases.java
+++ b/tests/mockito/junit4/src/test/java/samples/powermockito/junit4/staticmocking/MockStaticCases.java
@@ -22,7 +22,7 @@ import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.exceptions.base.MockitoAssertionError;
-import org.mockito.exceptions.verification.TooLittleActualInvocations;
+import org.mockito.exceptions.verification.TooFewActualInvocations;
 import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;
 import samples.singleton.SimpleStaticService;
 import samples.singleton.StaticService;
@@ -194,7 +194,7 @@ public class MockStaticCases {
         StaticService.say("hello");
     }
     
-    @Test(expected = TooLittleActualInvocations.class)
+    @Test(expected = TooFewActualInvocations.class)
     public void testMockStaticIncorrectTimes() throws Exception {
         mockStatic(StaticService.class);
         assertNull(StaticService.say("hello"));
diff --git a/tests/utils/src/main/java/org/powermock/api/mockito/MockitoVersion.java b/tests/utils/src/main/java/org/powermock/api/mockito/MockitoVersion.java
index f6fbc969..8cb70efa 100644
--- a/tests/utils/src/main/java/org/powermock/api/mockito/MockitoVersion.java
+++ b/tests/utils/src/main/java/org/powermock/api/mockito/MockitoVersion.java
@@ -33,7 +33,11 @@ public class MockitoVersion {
     public static boolean isMockito3(){
         return MOCKITO_VERSION.isMockito3_0();
     }
-    
+
+    public static boolean isMockito4(){
+        return MOCKITO_VERSION.isMockito4_0();
+    }
+
     private static final MockitoVersion MOCKITO_VERSION = new MockitoVersion();
     
     private final String version;
@@ -67,4 +71,8 @@ public class MockitoVersion {
     private boolean isMockito3_0() {
         return version.startsWith("3");
     }
+
+    private boolean isMockito4_0() {
+        return version.startsWith("4");
+    }
 }
-- 
2.44.0

openSUSE Build Service is sponsored by