1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/* 2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Copyright (c) 2007 Mockito contributors 3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * This program is made available under the terms of the MIT License. 4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.internal.exceptions.util; 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.util.List; 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.exceptions.VerificationAwareInvocation; 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class ScenarioPrinter { 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public String print(List<VerificationAwareInvocation> invocations) { 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson if (invocations.size() == 1) { 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return "Actually, above is the only interaction with this mock."; 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson StringBuilder sb = new StringBuilder( 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson "***\n" + 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson "For your reference, here is the list of all invocations ([?] - means unverified).\n"); 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson int counter = 0; 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson for (VerificationAwareInvocation i : invocations) { 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson sb.append(++counter + ". "); 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson if (!i.isVerified()) { 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson sb.append("[?]"); 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson sb.append(i.getLocation() + "\n"); 28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson String scenario = sb.toString(); 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return scenario; 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson} 34