Package org.easymock.internal
Class MocksControl
- java.lang.Object
-
- org.easymock.internal.MocksControl
-
- All Implemented Interfaces:
java.io.Serializable
,IExpectationSetters<java.lang.Object>
,IMocksControl
public class MocksControl extends java.lang.Object implements IMocksControl, IExpectationSetters<java.lang.Object>, java.io.Serializable
- Author:
- OFFIS, Tammo Freese
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MocksControl.MockType
Deprecated.Use org.easymock.MockType
-
Field Summary
Fields Modifier and Type Field Description static Range
AT_LEAST_ONCE
One or more calls.static Range
ONCE
Exactly one call.static Range
ZERO_OR_MORE
Zero or more calls.
-
Constructor Summary
Constructors Constructor Description MocksControl(MocksControl.MockType type)
MocksControl(MockType type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description IExpectationSetters<java.lang.Object>
andAnswer(IAnswer<? extends java.lang.Object> answer)
Sets an object that will be used to calculate the answer for the expected invocation (either return a value, or throw an exception).IExpectationSetters<java.lang.Object>
andDelegateTo(java.lang.Object answer)
Sets an object implementing the same interface as the mock.IExpectationSetters<java.lang.Object>
andReturn(java.lang.Object value)
Sets a return value that will be returned for the expected invocation.void
andStubAnswer(IAnswer<? extends java.lang.Object> answer)
Sets a stub object that will be used to calculate the answer for the expected invocation (either return a value, or throw an exception).void
andStubDelegateTo(java.lang.Object delegateTo)
Sets a stub object implementing the same interface as the mock.void
andStubReturn(java.lang.Object value)
Sets a stub return value that will be returned for the expected invocation.void
andStubThrow(java.lang.Throwable throwable)
Sets a stub throwable that will be thrown for the expected invocation.IExpectationSetters<java.lang.Object>
andThrow(java.lang.Throwable throwable)
Sets a throwable that will be thrown for the expected invocation.IExpectationSetters<java.lang.Object>
andVoid()
Records a call but returns nothing.IExpectationSetters<java.lang.Object>
anyTimes()
Expect the last invocation any times.void
asStub()
Sets stub behavior for the expected invocation (this is needed for void methods).IExpectationSetters<java.lang.Object>
atLeastOnce()
Expect the last invocation at least once.void
checkIsUsedInOneThread(boolean shouldBeUsedInOneThread)
Check that the mock is called from only one threadvoid
checkOrder(boolean value)
Switches order checking on and off.<T> T
createMock(java.lang.Class<T> toMock)
Creates a mock object that implements the given interface.<T> T
createMock(java.lang.String name, java.lang.Class<T> toMock)
Creates a mock object that implements the given interface.<T> T
createMock(java.lang.String name, java.lang.Class<T> toMock, ConstructorArgs constructorArgs, java.lang.reflect.Method... mockedMethods)
Creates a mock object that implements the given class.static MocksControl
getControl(java.lang.Object mock)
static java.lang.reflect.InvocationHandler
getInvocationHandler(java.lang.Object mock)
static <T,R extends T>
java.lang.Class<R>getMockedClass(T proxy)
Return the class of interface (depending on the mock type) that was mockedstatic <T,R extends T>
java.lang.Class<R>getMockedType(T proxy)
Deprecated.usegetMockedClass(Object)
insteadstatic IProxyFactory
getProxyFactory(java.lang.Object o)
IMocksControlState
getState()
MockType
getType()
void
makeThreadSafe(boolean threadSafe)
Makes the mock thread safe.IExpectationSetters<java.lang.Object>
once()
Expect the last invocation once.void
replay()
Switches the control from record mode to replay mode.void
reset()
Removes all expectations for the mock objects of this control.void
resetToDefault()
Removes all expectations for the mock objects of this control and turn them to default mocks.void
resetToNice()
Removes all expectations for the mock objects of this control and turn them to nice mocks.void
resetToStrict()
Removes all expectations for the mock objects of this control and turn them to strict mocks.IExpectationSetters<java.lang.Object>
times(int times)
Expect the last invocationcount
times.IExpectationSetters<java.lang.Object>
times(int min, int max)
Expect the last invocation betweenmin
andmax
times.void
verify()
Verifies that all expectations were met and that no unexpected call was performed.void
verifyRecording()
Verifies that all expectations were met.void
verifyUnexpectedCalls()
Verifies that no unexpected call was performed.
-
-
-
Constructor Detail
-
MocksControl
public MocksControl(MockType type)
-
MocksControl
public MocksControl(MocksControl.MockType type)
-
-
Method Detail
-
getType
public MockType getType()
-
getState
public IMocksControlState getState()
-
createMock
public <T> T createMock(java.lang.Class<T> toMock)
Description copied from interface:IMocksControl
Creates a mock object that implements the given interface.- Specified by:
createMock
in interfaceIMocksControl
- Type Parameters:
T
- the interface or class that the mock object should implement/extend.- Parameters:
toMock
- the interface or class that the mock object should implement/extend.- Returns:
- the mock object.
-
createMock
public <T> T createMock(java.lang.String name, java.lang.Class<T> toMock)
Description copied from interface:IMocksControl
Creates a mock object that implements the given interface.- Specified by:
createMock
in interfaceIMocksControl
- Type Parameters:
T
- the interface or class that the mock object should implement/extend.- Parameters:
name
- the name of the mock object.toMock
- the interface or class that the mock object should implement/extend.- Returns:
- the mock object.
-
createMock
public <T> T createMock(java.lang.String name, java.lang.Class<T> toMock, ConstructorArgs constructorArgs, java.lang.reflect.Method... mockedMethods)
Description copied from interface:IMocksControl
Creates a mock object that implements the given class. Using this method directly in a test class is not recommended. Only frameworks extending EasyMock should use it. Final users should use the more convenientEasyMock.partialMockBuilder(Class)
method instead- Specified by:
createMock
in interfaceIMocksControl
- Type Parameters:
T
- the class that the mock object should extend.- Parameters:
name
- the name of the mock object.toMock
- the class that the mock object should extend.constructorArgs
- constructor and parameters used to instantiate the mock. If null, no constructor will be calledmockedMethods
- methods that will be mocked, other methods will behave normally. If empty, all methods will be mocked- Returns:
- the mock object.
-
getProxyFactory
public static IProxyFactory getProxyFactory(java.lang.Object o)
-
getControl
public static MocksControl getControl(java.lang.Object mock)
-
getInvocationHandler
public static java.lang.reflect.InvocationHandler getInvocationHandler(java.lang.Object mock)
-
getMockedClass
public static <T,R extends T> java.lang.Class<R> getMockedClass(T proxy)
Return the class of interface (depending on the mock type) that was mocked- Type Parameters:
T
- Mocked classR
- Mock class- Parameters:
proxy
- Mock object- Returns:
- the mocked class or interface
-
getMockedType
@Deprecated public static <T,R extends T> java.lang.Class<R> getMockedType(T proxy)
Deprecated.usegetMockedClass(Object)
insteadReturn the class of interface (depending on the mock type) that was mocked- Type Parameters:
T
- Mocked classR
- Mock class- Parameters:
proxy
- Mock object- Returns:
- the mocked class or interface
-
reset
public void reset()
Description copied from interface:IMocksControl
Removes all expectations for the mock objects of this control.- Specified by:
reset
in interfaceIMocksControl
-
resetToNice
public void resetToNice()
Description copied from interface:IMocksControl
Removes all expectations for the mock objects of this control and turn them to nice mocks.- Specified by:
resetToNice
in interfaceIMocksControl
-
resetToDefault
public void resetToDefault()
Description copied from interface:IMocksControl
Removes all expectations for the mock objects of this control and turn them to default mocks.- Specified by:
resetToDefault
in interfaceIMocksControl
-
resetToStrict
public void resetToStrict()
Description copied from interface:IMocksControl
Removes all expectations for the mock objects of this control and turn them to strict mocks.- Specified by:
resetToStrict
in interfaceIMocksControl
-
replay
public void replay()
Description copied from interface:IMocksControl
Switches the control from record mode to replay mode.- Specified by:
replay
in interfaceIMocksControl
-
verifyRecording
public void verifyRecording()
Description copied from interface:IMocksControl
Verifies that all expectations were met.- Specified by:
verifyRecording
in interfaceIMocksControl
-
verifyUnexpectedCalls
public void verifyUnexpectedCalls()
Description copied from interface:IMocksControl
Verifies that no unexpected call was performed.- Specified by:
verifyUnexpectedCalls
in interfaceIMocksControl
-
verify
public void verify()
Description copied from interface:IMocksControl
Verifies that all expectations were met and that no unexpected call was performed. It has the same effect as callingIMocksControl.verifyRecording()
followed byIMocksControl.verifyUnexpectedCalls()
.- Specified by:
verify
in interfaceIMocksControl
-
checkOrder
public void checkOrder(boolean value)
Description copied from interface:IMocksControl
Switches order checking on and off.- Specified by:
checkOrder
in interfaceIMocksControl
- Parameters:
value
-true
switches order checking on,false
switches it off.
-
makeThreadSafe
public void makeThreadSafe(boolean threadSafe)
Description copied from interface:IMocksControl
Makes the mock thread safe.- Specified by:
makeThreadSafe
in interfaceIMocksControl
- Parameters:
threadSafe
- If the mock should be thread safe or not
-
checkIsUsedInOneThread
public void checkIsUsedInOneThread(boolean shouldBeUsedInOneThread)
Description copied from interface:IMocksControl
Check that the mock is called from only one thread- Specified by:
checkIsUsedInOneThread
in interfaceIMocksControl
- Parameters:
shouldBeUsedInOneThread
- If it should be used in one thread only or not
-
andReturn
public IExpectationSetters<java.lang.Object> andReturn(java.lang.Object value)
Description copied from interface:IExpectationSetters
Sets a return value that will be returned for the expected invocation.- Specified by:
andReturn
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
value
- the value to return.- Returns:
- this object to allow method call chaining.
-
andThrow
public IExpectationSetters<java.lang.Object> andThrow(java.lang.Throwable throwable)
Description copied from interface:IExpectationSetters
Sets a throwable that will be thrown for the expected invocation.- Specified by:
andThrow
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
throwable
- the throwable to throw.- Returns:
- this object to allow method call chaining.
-
andAnswer
public IExpectationSetters<java.lang.Object> andAnswer(IAnswer<? extends java.lang.Object> answer)
Description copied from interface:IExpectationSetters
Sets an object that will be used to calculate the answer for the expected invocation (either return a value, or throw an exception).- Specified by:
andAnswer
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
answer
- the object used to answer the invocation.- Returns:
- this object to allow method call chaining.
-
andDelegateTo
public IExpectationSetters<java.lang.Object> andDelegateTo(java.lang.Object answer)
Description copied from interface:IExpectationSetters
Sets an object implementing the same interface as the mock. The expected method call will be delegated to it with the actual arguments. The answer returned by this call will then be the answer returned by the mock (either return a value, or throw an exception).- Specified by:
andDelegateTo
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
answer
- the object the call is delegated to.- Returns:
- the value returned by the delegated call.
-
andVoid
public IExpectationSetters<java.lang.Object> andVoid()
Description copied from interface:IExpectationSetters
Records a call but returns nothing. Used to chain calls on void methodsexpectLastCall().andThrow(e).andVoid()
- Specified by:
andVoid
in interfaceIExpectationSetters<java.lang.Object>
- Returns:
- this object to allow method call chaining.
-
andStubReturn
public void andStubReturn(java.lang.Object value)
Description copied from interface:IExpectationSetters
Sets a stub return value that will be returned for the expected invocation.- Specified by:
andStubReturn
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
value
- the value to return.
-
andStubThrow
public void andStubThrow(java.lang.Throwable throwable)
Description copied from interface:IExpectationSetters
Sets a stub throwable that will be thrown for the expected invocation.- Specified by:
andStubThrow
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
throwable
- the throwable to throw.
-
andStubAnswer
public void andStubAnswer(IAnswer<? extends java.lang.Object> answer)
Description copied from interface:IExpectationSetters
Sets a stub object that will be used to calculate the answer for the expected invocation (either return a value, or throw an exception).- Specified by:
andStubAnswer
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
answer
- the object used to answer the invocation.
-
andStubDelegateTo
public void andStubDelegateTo(java.lang.Object delegateTo)
Description copied from interface:IExpectationSetters
Sets a stub object implementing the same interface as the mock. The expected method call will be delegated to it with the actual arguments. The answer returned by this call will then be the answer returned by the mock (either return a value, or throw an exception).- Specified by:
andStubDelegateTo
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
delegateTo
- the object the call is delegated to.
-
asStub
public void asStub()
Description copied from interface:IExpectationSetters
Sets stub behavior for the expected invocation (this is needed for void methods).- Specified by:
asStub
in interfaceIExpectationSetters<java.lang.Object>
-
times
public IExpectationSetters<java.lang.Object> times(int times)
Description copied from interface:IExpectationSetters
Expect the last invocationcount
times.- Specified by:
times
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
times
- the number of invocations expected- Returns:
- this object to allow method call chaining.
-
times
public IExpectationSetters<java.lang.Object> times(int min, int max)
Description copied from interface:IExpectationSetters
Expect the last invocation betweenmin
andmax
times.- Specified by:
times
in interfaceIExpectationSetters<java.lang.Object>
- Parameters:
min
- the minimum number of invocations expected.max
- the maximum number of invocations expected.- Returns:
- this object to allow method call chaining.
-
once
public IExpectationSetters<java.lang.Object> once()
Description copied from interface:IExpectationSetters
Expect the last invocation once. This is default in EasyMock.- Specified by:
once
in interfaceIExpectationSetters<java.lang.Object>
- Returns:
- this object to allow method call chaining.
-
atLeastOnce
public IExpectationSetters<java.lang.Object> atLeastOnce()
Description copied from interface:IExpectationSetters
Expect the last invocation at least once.- Specified by:
atLeastOnce
in interfaceIExpectationSetters<java.lang.Object>
- Returns:
- this object to allow method call chaining.
-
anyTimes
public IExpectationSetters<java.lang.Object> anyTimes()
Description copied from interface:IExpectationSetters
Expect the last invocation any times.- Specified by:
anyTimes
in interfaceIExpectationSetters<java.lang.Object>
- Returns:
- this object to allow method call chaining.
-
-