package org.powermock.api.easymock.internal.invocationcontrol;
import org.powermock.core.spi.support.InvocationSubstitute;
import java.util.regex.Matcher;
public class NewInvocationControlAssertionError {
public static void throwAssertionErrorForNewSubstitutionFailure(AssertionError oldError, Class<?> type) {
/*
* We failed to verify the new substitution mock. This happens when, for
* example, the user has done something like
* expectNew(MyClass.class).andReturn(myMock).times(3) when in fact an
* instance of MyClass has been created less or more times than 3.
*/
String message = oldError.getMessage();
final String newSubsitutionMethodName = InvocationSubstitute.class.getDeclaredMethods()[0].getName();
final String className = InvocationSubstitute.class.getSimpleName();
message = message.replaceAll(className+"."+newSubsitutionMethodName, Matcher.quoteReplacement(type.getName()));
message = message.replaceAll("method", "constructor");
throw new AssertionError(message);
}
}