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.verification; 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.util.List; 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.exceptions.Reporter; 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.invocation.InvocationMatcher; 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.stubbing.InvocationContainer; 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.util.ObjectMethodsGuru; 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.verification.api.VerificationData; 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.invocation.Invocation; 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class VerificationDataImpl implements VerificationData { 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private final InvocationMatcher wanted; 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private final InvocationContainer invocations; 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public VerificationDataImpl(InvocationContainer invocations, InvocationMatcher wanted) { 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.invocations = invocations; 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.wanted = wanted; 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.assertWantedIsVerifiable(); 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public List<Invocation> getAllInvocations() { 28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return invocations.getInvocations(); 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public InvocationMatcher getWanted() { 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return wanted; 33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson void assertWantedIsVerifiable() { 36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson if (wanted == null) { 37e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return; 38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson ObjectMethodsGuru o = new ObjectMethodsGuru(); 40e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson if (o.isToString(wanted.getMethod())) { 41e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson new Reporter().cannotVerifyToString(); 42e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 43e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 44e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}