Package org.easymock.internal
Class MockBuilder<T>
- java.lang.Object
-
- org.easymock.internal.MockBuilder<T>
-
- Type Parameters:
T
- type of the mock created
- All Implemented Interfaces:
IMockBuilder<T>
public class MockBuilder<T> extends java.lang.Object implements IMockBuilder<T>
Default implementation of IMockBuilder.The original idea and part of the code where contributed by Rodrigo Damazio and Bruno Fonseca at Google
- Author:
- Henri Tremblay
-
-
Constructor Summary
Constructors Constructor Description MockBuilder(java.lang.Class<T> toMock)
MockBuilder(java.lang.Class<T> toMock, EasyMockSupport support)
Used by EasyMockSupport to allow the mock registration in the list of controls
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IMockBuilder<T>
addMockedMethod(java.lang.reflect.Method method)
Adds a method to be mocked in the testing class.IMockBuilder<T>
addMockedMethod(java.lang.String methodName)
Adds a method to be mocked in the testing class.IMockBuilder<T>
addMockedMethod(java.lang.String methodName, java.lang.Class<?>... parameterTypes)
Adds a method to be mocked in the testing class.IMockBuilder<T>
addMockedMethods(java.lang.reflect.Method... methods)
Adds methods to be mocked in the testing class.IMockBuilder<T>
addMockedMethods(java.lang.String... methodNames)
Adds methods to be mocked in the testing class.T
createMock()
Create a default mock from this builder.T
createMock(java.lang.String name)
Create named mock from the provided mock control using the arguments passed to the builder.T
createMock(java.lang.String name, IMocksControl control)
Create named mock from the provided mock control using the arguments passed to the builder.T
createMock(java.lang.String name, MockType type)
Create a named mock of the request type from this builder.T
createMock(IMocksControl control)
Create mock from the provided mock control using the arguments passed to the builder.T
createMock(MockType type)
Create mock of the request type from this builder.T
createNiceMock()
Create a nice mock from this builder.T
createNiceMock(java.lang.String name)
Create a named nice mock from this builder.T
createStrictMock()
Create a strict mock from this builder.T
createStrictMock(java.lang.String name)
Create a named strict mock from this builder.IMockBuilder<T>
withArgs(java.lang.Object... initArgs)
Defines the arguments to be passed to the constructor of the class.IMockBuilder<T>
withConstructor()
Defines the empty constructor should be called.IMockBuilder<T>
withConstructor(java.lang.Class<?>... argTypes)
Defines the exact argument types for the constructor to use.IMockBuilder<T>
withConstructor(java.lang.Object... initArgs)
Defines the constructor parameters for the mocked class.IMockBuilder<T>
withConstructor(java.lang.reflect.Constructor<?> constructor)
Defines the constructor to use to instantiate the mock.IMockBuilder<T>
withConstructor(ConstructorArgs constructorArgs)
-
-
-
Constructor Detail
-
MockBuilder
public MockBuilder(java.lang.Class<T> toMock)
-
MockBuilder
public MockBuilder(java.lang.Class<T> toMock, EasyMockSupport support)
Used by EasyMockSupport to allow the mock registration in the list of controls- Parameters:
toMock
- The class of the mock to createsupport
- The EasyMockSupport used to create mocks. Null if none
-
-
Method Detail
-
addMockedMethod
public IMockBuilder<T> addMockedMethod(java.lang.reflect.Method method)
Description copied from interface:IMockBuilder
Adds a method to be mocked in the testing class. Each call will add a new method to the result mock. The method is searched for in the class itself as well as superclasses.- Specified by:
addMockedMethod
in interfaceIMockBuilder<T>
- Parameters:
method
- method to be mocked- Returns:
- this
-
addMockedMethod
public IMockBuilder<T> addMockedMethod(java.lang.String methodName)
Description copied from interface:IMockBuilder
Adds a method to be mocked in the testing class. Each call will add a new method to the result mock. The method is searched for in the class itself as well as superclasses. There must be no overload of the method. You will have to rely on the otheraddMockedMethod
s in this class if that is the case.- Specified by:
addMockedMethod
in interfaceIMockBuilder<T>
- Parameters:
methodName
- name of the method to be mocked- Returns:
- this
-
addMockedMethod
public IMockBuilder<T> addMockedMethod(java.lang.String methodName, java.lang.Class<?>... parameterTypes)
Description copied from interface:IMockBuilder
Adds a method to be mocked in the testing class. Each call will add a new method to the result mock. The method is searched for in the class itself as well as superclasses.- Specified by:
addMockedMethod
in interfaceIMockBuilder<T>
- Parameters:
methodName
- name of the method to be mockedparameterTypes
- types of the parameters of the method- Returns:
- this
-
addMockedMethods
public IMockBuilder<T> addMockedMethods(java.lang.String... methodNames)
Description copied from interface:IMockBuilder
Adds methods to be mocked in the testing class. Same asIMockBuilder.addMockedMethod(String)
but to mock many methods at once.- Specified by:
addMockedMethods
in interfaceIMockBuilder<T>
- Parameters:
methodNames
- names of the methods to be mocked- Returns:
- this
-
addMockedMethods
public IMockBuilder<T> addMockedMethods(java.lang.reflect.Method... methods)
Description copied from interface:IMockBuilder
Adds methods to be mocked in the testing class. Same asIMockBuilder.addMockedMethod(Method)
but to mock many methods at once.- Specified by:
addMockedMethods
in interfaceIMockBuilder<T>
- Parameters:
methods
- methods to be mocked- Returns:
- this
-
withConstructor
public IMockBuilder<T> withConstructor(java.lang.reflect.Constructor<?> constructor)
Description copied from interface:IMockBuilder
Defines the constructor to use to instantiate the mock. It is expected that you callIMockBuilder.withArgs(java.lang.Object...)
with the actual constructor argument values after this.- Specified by:
withConstructor
in interfaceIMockBuilder<T>
- Parameters:
constructor
- the constructor to be called- Returns:
- this
-
withConstructor
public IMockBuilder<T> withConstructor(ConstructorArgs constructorArgs)
-
withConstructor
public IMockBuilder<T> withConstructor()
Description copied from interface:IMockBuilder
Defines the empty constructor should be called.- Specified by:
withConstructor
in interfaceIMockBuilder<T>
- Returns:
- this
-
withConstructor
public IMockBuilder<T> withConstructor(java.lang.Object... initArgs)
Description copied from interface:IMockBuilder
Defines the constructor parameters for the mocked class. The builder will automatically find a constructor with compatible argument types. This throws an exception if there is more than one constructor which would accept the given parameters.- Specified by:
withConstructor
in interfaceIMockBuilder<T>
- Parameters:
initArgs
- arguments of the constructor- Returns:
- this
-
withConstructor
public IMockBuilder<T> withConstructor(java.lang.Class<?>... argTypes)
Description copied from interface:IMockBuilder
Defines the exact argument types for the constructor to use. It is expected that you callIMockBuilder.withArgs(java.lang.Object...)
with the actual constructor argument values after this.- Specified by:
withConstructor
in interfaceIMockBuilder<T>
- Parameters:
argTypes
- the exact argument types of the constructor- Returns:
- this
-
withArgs
public IMockBuilder<T> withArgs(java.lang.Object... initArgs)
Description copied from interface:IMockBuilder
Defines the arguments to be passed to the constructor of the class. The types of the arguments must match those previously defined withIMockBuilder.withConstructor(Class...)
orIMockBuilder.withConstructor(Constructor)
.- Specified by:
withArgs
in interfaceIMockBuilder<T>
- Parameters:
initArgs
- the arguments to pass to the constructor- Returns:
- this
-
createMock
public T createMock(MockType type)
Description copied from interface:IMockBuilder
Create mock of the request type from this builder. The same builder can be called to create multiple mocks.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Parameters:
type
- the mock type- Returns:
- the newly created mock
-
createMock
public T createMock(java.lang.String name, MockType type)
Description copied from interface:IMockBuilder
Create a named mock of the request type from this builder. The same builder can be called to create multiple mocks.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Parameters:
name
- the mock nametype
- the mock type- Returns:
- the newly created mock
-
createMock
public T createMock(IMocksControl control)
Description copied from interface:IMockBuilder
Create mock from the provided mock control using the arguments passed to the builder.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Parameters:
control
-IMocksControl
used to create the object- Returns:
- the newly created mock
-
createMock
public T createMock()
Description copied from interface:IMockBuilder
Create a default mock from this builder. The same builder can be called to create multiple mocks.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Returns:
- the newly created mock
-
createNiceMock
public T createNiceMock()
Description copied from interface:IMockBuilder
Create a nice mock from this builder. The same builder can be called to create multiple mocks.- Specified by:
createNiceMock
in interfaceIMockBuilder<T>
- Returns:
- the newly created mock
-
createStrictMock
public T createStrictMock()
Description copied from interface:IMockBuilder
Create a strict mock from this builder. The same builder can be called to create multiple mocks.- Specified by:
createStrictMock
in interfaceIMockBuilder<T>
- Returns:
- the newly created mock
-
createMock
public T createMock(java.lang.String name, IMocksControl control)
Description copied from interface:IMockBuilder
Create named mock from the provided mock control using the arguments passed to the builder.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Parameters:
name
- the mock namecontrol
-IMocksControl
used to create the object- Returns:
- the newly created mock
-
createMock
public T createMock(java.lang.String name)
Description copied from interface:IMockBuilder
Create named mock from the provided mock control using the arguments passed to the builder.- Specified by:
createMock
in interfaceIMockBuilder<T>
- Parameters:
name
- the mock name- Returns:
- the newly created mock
-
createNiceMock
public T createNiceMock(java.lang.String name)
Description copied from interface:IMockBuilder
Create a named nice mock from this builder. The same builder can be called to create multiple mocks.- Specified by:
createNiceMock
in interfaceIMockBuilder<T>
- Parameters:
name
- the mock name- Returns:
- the newly created mock
-
createStrictMock
public T createStrictMock(java.lang.String name)
Description copied from interface:IMockBuilder
Create a named strict mock from this builder. The same builder can be called to create multiple mocks.- Specified by:
createStrictMock
in interfaceIMockBuilder<T>
- Parameters:
name
- the mock name- Returns:
- the newly created mock
-
-