package org.test4j.module.jmockit.extend; import mockit.Verifications; import mockit.internal.expectations.argumentMatching.ArgumentMatcher; import org.test4j.hamcrest.matcher.JMockitAdapter; import org.test4j.module.jmockit.utility.ExpectationsUtil; import org.test4j.tools.reflector.MethodAccessor; import ext.test4j.hamcrest.Matcher; @SuppressWarnings({ "rawtypes" }) public class JMocketVerifications extends Verifications { public JMocketVerifications() { super(); ExpectationsUtil.register(this); } public JMocketVerifications(int numberOfIterations) { super(numberOfIterations); ExpectationsUtil.register(this); } final static MethodAccessor methodAccessor = new MethodAccessor(Verifications.class, "addMatcher", ArgumentMatcher.class); protected final <T> T with(Matcher argumentMatcher) { JMockitAdapter adapter = JMockitAdapter.create(argumentMatcher); methodAccessor.invokeUnThrow(this, new Object[] { adapter }); return null; } protected final <T> T with(T argValue, Matcher argumentMatcher) { JMockitAdapter adapter = JMockitAdapter.create(argumentMatcher); methodAccessor.invokeUnThrow(this, new Object[] { adapter }); return argValue; } }