1/* 2 * Copyright 2001-2009 OFFIS, Tammo Freese 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16package org.easymock; 17 18/** 19 * Controls all the mock objects created by it. 20 * For details, see the EasyMock documentation. 21 */ 22public interface IMocksControl { 23 /** 24 * Creates a mock object that implements the given interface. 25 * @param <T> the interface that the mock object should implement. 26 * @param toMock the class of the interface that the mock object should implement. 27 * @return the mock object. 28 */ 29 <T> T createMock(Class<T> toMock); 30 31 /** 32 * Creates a mock object that implements the given interface. 33 * @param name the name of the mock object . 34 * @param toMock the class of the interface that the mock object should implement. 35 * @param <T> the interface that the mock object should implement. 36 * @return the mock object. 37 * @throws IllegalArgumentException if the name is not a valid Java identifier. 38 */ 39 <T> T createMock(String name, Class<T> toMock); 40 41 /** 42 * Removes all expectations for the mock objects of this control. 43 */ 44 void reset(); 45 46 /** 47 * Removes all expectations for the mock objects of this control and turn 48 * them to nice mocks. 49 */ 50 void resetToNice(); 51 52 /** 53 * Removes all expectations for the mock objects of this control and turn 54 * them to default mocks. 55 */ 56 void resetToDefault(); 57 58 /** 59 * Removes all expectations for the mock objects of this control and turn 60 * them to strict mocks. 61 */ 62 void resetToStrict(); 63 64 /** 65 * Switches the control from record mode to replay mode. 66 */ 67 void replay(); 68 69 /** 70 * Verifies that all expectations were met. 71 */ 72 void verify(); 73 74 /** 75 * Switches order checking on and off. 76 * @param state <code>true</code> switches order checking on, <code>false</code> switches it off. 77 */ 78 void checkOrder(boolean state); 79 80 /** 81 * Makes the mock thread safe. 82 * 83 * @param threadSafe If the mock should be thread safe or not 84 */ 85 void makeThreadSafe(boolean threadSafe); 86 87 /** 88 * Check that the mock is called from only one thread 89 * 90 * @param shouldBeUsedInOneThread 91 * If it should be used in one thread only or not 92 */ 93 void checkIsUsedInOneThread(boolean shouldBeUsedInOneThread); 94} 95