/* | |
* Copyright (c) 2007 Mockito contributors | |
* This program is made available under the terms of the MIT License. | |
*/ | |
package org.mockito.internal.debugging; | |
import org.mockito.internal.invocation.InvocationMatcher; | |
import org.mockito.internal.util.MockitoLogger; | |
import org.mockito.invocation.Invocation; | |
import static org.mockito.internal.util.StringJoiner.join; | |
public class LoggingListener implements FindingsListener { | |
private final boolean warnAboutUnstubbed; | |
private final MockitoLogger logger; | |
public LoggingListener(boolean warnAboutUnstubbed, MockitoLogger logger) { | |
this.warnAboutUnstubbed = warnAboutUnstubbed; | |
this.logger = logger; | |
} | |
public void foundStubCalledWithDifferentArgs(Invocation unused, InvocationMatcher unstubbed) { | |
logger.log(join( | |
" *** Stubbing warnings from Mockito: *** ", | |
"", | |
"stubbed with those args here " + unused.getLocation(), | |
"BUT called with different args " + unstubbed.getInvocation().getLocation(), | |
"")); | |
} | |
public void foundUnusedStub(Invocation unused) { | |
logger.log("This stubbing was never used " + unused.getLocation() + "\n"); | |
} | |
public void foundUnstubbed(InvocationMatcher unstubbed) { | |
if (warnAboutUnstubbed) { | |
logger.log(join( | |
"This method was not stubbed ", | |
unstubbed, | |
unstubbed.getInvocation().getLocation(), | |
"")); | |
} | |
} | |
public boolean isWarnAboutUnstubbed() { | |
return warnAboutUnstubbed; | |
} | |
public MockitoLogger getLogger() { | |
return logger; | |
} | |
} |