abstract class AbstractMockspressoExtension<BLDR : MockspressoExtension.Builder<MockspressoExtension<*>!, MockspressoExtension.Rule<*>!, MockspressoExtension.Builder<*, *, *>!>!> : MockspressoExtension<BLDR>
Extend these 3 classes to create your own mockspresso extension AbstractMockspressoExtension
AbstractMockspressoExtension.Rule
AbstractMockspressoExtension.Builder
In each subclass, point the generic type references to your interface extensions of MockspressoExtension
and its inner interfaces. Each subclass should also directly implement the appropriate interface extension of MockspressoExtension
In the subclass of AbstractMockspressoExtension
, you should only need to override the constructor, providing a lambda that wraps Mockspresso.Builder
with your custom subclass of AbstractMockspressoExtension.Builder
abstract class Builder<EXT : MockspressoExtension<MockspressoExtension.Builder<*, *, *>!>!, RULE : MockspressoExtension.Rule<MockspressoExtension.Builder<*, *, *>!>!, BLDR : MockspressoExtension.Builder<MockspressoExtension<*>!, MockspressoExtension.Rule<*>!, MockspressoExtension.Builder<*, *, *>!>!> : MockspressoExtension.Builder<EXT, RULE, BLDR>
Extend this abstract class for a custom implementation of the |
|
abstract class Rule<BLDR : MockspressoExtension.Builder<MockspressoExtension<*>!, MockspressoExtension.Rule<*>!, MockspressoExtension.Builder<*, *, *>!>!> : MockspressoExtension.Rule<BLDR>
Extend this abstract class for a custom implementation of the |
|
interface Wrapper<IN : Any!, OUT : Any!>
A simple interface that tells us how wrap a |
AbstractMockspressoExtension(delegate: Mockspresso, builderWrapper: AbstractMockspressoExtension.Wrapper<Builder!, BLDR>) |
open fun buildUpon(): BLDR |
|
open fun <T : Any!> create(clazz: Class<T>): T open fun <T : Any!> create(typeToken: TypeToken<T>): T |
|
open fun <T : Any!> getDependency(key: DependencyKey<T>): T |
|
open fun inject(instance: Any): Unit open fun <T : Any!> inject(instance: T, typeToken: TypeToken<T>): Unit |