Package net.officefloor.frame.test
Class MockTestSupport
- java.lang.Object
-
- net.officefloor.frame.test.MockTestSupport
-
- All Implemented Interfaces:
TestSupport
public class MockTestSupport extends java.lang.Object implements TestSupport
Mock test support.- Author:
- Daniel Sagenschneider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceMockTestSupport.TestLogic<R,T extends java.lang.Throwable>Test logic interface.
-
Constructor Summary
Constructors Constructor Description MockTestSupport()Default instantiation.MockTestSupport(LogTestSupport logTestSupport)Initiate.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <M> McreateMock(java.lang.Class<M> classToMock)Creates a mock object registering the mock object with registry for management.<M> McreateSynchronizedMock(java.lang.Class<M> interfaceToMock)Creates a thread safe mock object.protected <R,T extends java.lang.Throwable>
RdoTest(MockTestSupport.TestLogic<R,T> test)Undertakes test wrapping with mock object replay and verify.voidinit(org.junit.jupiter.api.extension.ExtensionContext context)Intialise.<T> Tparam(T value)Wraps a parameter value when attempting to capture.<T> TparamType(java.lang.Class<T> type)Wraps a parameter type expected.<T> voidrecordReturn(java.lang.Object mockObject, T ignore, T recordedReturn)Convenience method to record a method and its return on a mock object.<T> voidrecordReturn(java.lang.Object mockObject, T ignore, T recordedReturn, ArgumentsMatcher matcher)Convenience method to record a method, anArgumentsMatcherand return value.<T> voidrecordThrows(java.lang.Object mockObject, T ignore, java.lang.Throwable exception)Convenience method to record anException.voidrecordVoid(java.lang.Object mockObject, ArgumentsMatcher matcher)Convenience method to record void method.voidreplayMockObjects()Flags all the mock objects to replay.voidverifyMockObjects()Verifies all mock objects.
-
-
-
Constructor Detail
-
MockTestSupport
public MockTestSupport(LogTestSupport logTestSupport)
Initiate.- Parameters:
logTestSupport-LogTestSupport.
-
MockTestSupport
public MockTestSupport()
Default instantiation.
-
-
Method Detail
-
init
public void init(org.junit.jupiter.api.extension.ExtensionContext context) throws java.lang.ExceptionDescription copied from interface:TestSupportIntialise.- Specified by:
initin interfaceTestSupport- Parameters:
context-ExtensionContext.- Throws:
java.lang.Exception- If fails to init.
-
createMock
public <M> M createMock(java.lang.Class<M> classToMock)
Creates a mock object registering the mock object with registry for management.- Type Parameters:
M- Interface type.- Parameters:
classToMock-Classto be mocked.- Returns:
- Mock object.
-
createSynchronizedMock
public <M> M createSynchronizedMock(java.lang.Class<M> interfaceToMock)
Creates a thread safe mock object.- Type Parameters:
M- Interface type.- Parameters:
interfaceToMock-Classto mock.- Returns:
- Mock object.
-
param
public <T> T param(T value)
Wraps a parameter value when attempting to capture.- Type Parameters:
T- Value type.- Parameters:
value- Value.- Returns:
- Value for parameter.
-
paramType
public <T> T paramType(java.lang.Class<T> type)
Wraps a parameter type expected.- Type Parameters:
T- Value type.- Parameters:
type- Expected type.- Returns:
- Value for parameter.
-
recordReturn
public <T> void recordReturn(java.lang.Object mockObject, T ignore, T recordedReturn)Convenience method to record a method and its return on a mock object.- Type Parameters:
T- Expected result type.- Parameters:
mockObject- Mock object.ignore- Result of operation on the mock object. This is only provided to obtain correct return type for recording return.recordedReturn- Value that is recorded to be returned from the mock object.
-
recordReturn
public <T> void recordReturn(java.lang.Object mockObject, T ignore, T recordedReturn, ArgumentsMatcher matcher)Convenience method to record a method, anArgumentsMatcherand return value.- Type Parameters:
T- Expected result type.- Parameters:
mockObject- Mock object.ignore- Result of operation on the mock object. This is only provided to obtain correct return type for recording return.recordedReturn- Value that is recorded to be returned from the mock object.matcher-ArgumentsMatcher.
-
recordVoid
public void recordVoid(java.lang.Object mockObject, ArgumentsMatcher matcher)Convenience method to record void method.- Parameters:
mockObject- Mock object.matcher-ArgumentsMatcher.
-
recordThrows
public <T> void recordThrows(java.lang.Object mockObject, T ignore, java.lang.Throwable exception)Convenience method to record anException.- Type Parameters:
T- Expected result type.- Parameters:
mockObject- Mock object.ignore- Result of operation on the mock object. This is only provided to obtain correct return type for recording return.exception-Throwable.
-
replayMockObjects
public void replayMockObjects()
Flags all the mock objects to replay.
-
verifyMockObjects
public void verifyMockObjects()
Verifies all mock objects.
-
doTest
protected <R,T extends java.lang.Throwable> R doTest(MockTestSupport.TestLogic<R,T> test) throws T extends java.lang.Throwable
Undertakes test wrapping with mock object replay and verify.- Type Parameters:
R- Return type of test logic.T- PossibleThrowable.- Parameters:
test- Test logic to wrap in replay/verify.- Returns:
- Result of test logic.
- Throws:
T- If logic throwsException.T extends java.lang.Throwable
-
-