1/* 2 * Copyright (c) 2007 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5package org.mockito.internal.debugging; 6 7import java.util.List; 8 9import org.mockito.internal.invocation.InvocationMatcher; 10import org.mockito.internal.util.MockitoLogger; 11import org.mockito.internal.util.SimpleMockitoLogger; 12import org.mockito.invocation.Invocation; 13 14public class WarningsPrinterImpl { 15 16 private final boolean warnAboutUnstubbed; 17 private WarningsFinder finder; 18 19 public WarningsPrinterImpl(List<Invocation> unusedStubs, List<InvocationMatcher> unstubbedInvocations) { 20 this(unusedStubs, unstubbedInvocations, false); 21 } 22 23 public WarningsPrinterImpl(List<Invocation> unusedStubs, List<InvocationMatcher> allInvocations, boolean warnAboutUnstubbed) { 24 this(warnAboutUnstubbed, new WarningsFinder(unusedStubs, allInvocations)); 25 } 26 27 WarningsPrinterImpl(boolean warnAboutUnstubbed, WarningsFinder finder) { 28 this.warnAboutUnstubbed = warnAboutUnstubbed; 29 this.finder = finder; 30 } 31 32 public void print(final MockitoLogger logger) { 33 finder.find(new LoggingListener(warnAboutUnstubbed, logger)); 34 } 35 36 public String print() { 37 SimpleMockitoLogger logger = new SimpleMockitoLogger(); 38 this.print(logger); 39 return logger.getLoggedInfo(); 40 } 41}