/* * 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.MockitoDebugger; import org.mockito.internal.invocation.UnusedStubsFinder; import org.mockito.internal.invocation.finder.AllInvocationsFinder; import org.mockito.invocation.Invocation; import java.util.List; import static java.util.Arrays.asList; public class MockitoDebuggerImpl implements MockitoDebugger { private final UnusedStubsFinder unusedStubsFinder = new UnusedStubsFinder(); /** * TODO: when MockitoDebugger is deleted, delete this implementation, too */ @Deprecated public String printInvocations(Object ... mocks) { String out = ""; List<Invocation> invocations = AllInvocationsFinder.find(asList(mocks)); out += line("********************************"); out += line("*** Mockito interactions log ***"); out += line("********************************"); for(Invocation i:invocations) { out += line(i.toString()); out += line(" invoked: " + i.getLocation()); if (i.stubInfo() != null) { out += line(" stubbed: " + i.stubInfo().stubbedAt().toString()); } } invocations = unusedStubsFinder.find(asList(mocks)); if (invocations.isEmpty()) { return print(out); } out += line("********************************"); out += line("*** Unused stubs ***"); out += line("********************************"); for(Invocation i:invocations) { out += line(i.toString()); out += line(" stubbed: " + i.getLocation()); } return print(out); } private String line(String text) { return text + "\n"; } private String print(String out) { System.out.println(out); return out; } }