public class ReturnsDeepStubs extends java.lang.Object implements Answer<java.lang.Object>, java.io.Serializable
Supports nested generic information, with this answer you can write code like this :
interface GenericsNest<K extends Comparable<K> & Cloneable> extends Map<K, Set<Number>> {}
GenericsNest<?> mock = mock(GenericsNest.class, new ReturnsGenericDeepStubs());
Number number = mock.entrySet().iterator().next().getValue().iterator().next();
Modifier and Type | Class and Description |
---|---|
private static class |
ReturnsDeepStubs.DeeplyStubbedAnswer |
private static class |
ReturnsDeepStubs.LazyHolder |
private static class |
ReturnsDeepStubs.ReturnsDeepStubsSerializationFallback |
Modifier and Type | Field and Description |
---|---|
private static long |
serialVersionUID |
Constructor and Description |
---|
ReturnsDeepStubs() |
Modifier and Type | Method and Description |
---|---|
protected GenericMetadataSupport |
actualParameterizedType(java.lang.Object mock) |
java.lang.Object |
answer(InvocationOnMock invocation) |
private java.lang.Object |
deepStub(InvocationOnMock invocation,
GenericMetadataSupport returnTypeGenericMetadata) |
private static ReturnsEmptyValues |
delegate() |
private static MockitoCore |
mockitoCore() |
private java.lang.Object |
newDeepStubMock(GenericMetadataSupport returnTypeGenericMetadata,
java.lang.Object parentMock)
Creates a mock using the Generics Metadata.
|
private MockSettings |
propagateSerializationSettings(MockSettings mockSettings,
MockCreationSettings parentMockSettings) |
private StubbedInvocationMatcher |
recordDeepStubAnswer(java.lang.Object mock,
InvocationContainerImpl container) |
private ReturnsDeepStubs |
returnsDeepStubsAnswerUsing(GenericMetadataSupport returnTypeGenericMetadata) |
private MockSettings |
withSettingsUsing(GenericMetadataSupport returnTypeGenericMetadata,
MockCreationSettings parentMockSettings) |
private static final long serialVersionUID
public java.lang.Object answer(InvocationOnMock invocation) throws java.lang.Throwable
private java.lang.Object deepStub(InvocationOnMock invocation, GenericMetadataSupport returnTypeGenericMetadata) throws java.lang.Throwable
java.lang.Throwable
private java.lang.Object newDeepStubMock(GenericMetadataSupport returnTypeGenericMetadata, java.lang.Object parentMock)
ReturnsDeepStubs
answer in which we will store the returned type generic metadata.returnTypeGenericMetadata
- The metadata to use to create the new mock.parentMock
- The parent of the current deep stub mock.private MockSettings withSettingsUsing(GenericMetadataSupport returnTypeGenericMetadata, MockCreationSettings parentMockSettings)
private MockSettings propagateSerializationSettings(MockSettings mockSettings, MockCreationSettings parentMockSettings)
private ReturnsDeepStubs returnsDeepStubsAnswerUsing(GenericMetadataSupport returnTypeGenericMetadata)
private StubbedInvocationMatcher recordDeepStubAnswer(java.lang.Object mock, InvocationContainerImpl container)
protected GenericMetadataSupport actualParameterizedType(java.lang.Object mock)
private static MockitoCore mockitoCore()
private static ReturnsEmptyValues delegate()