mockspresso-extend / com.episode6.hackit.mockspresso.extend / MockspressoExtension / Builder

Builder

interface Builder<EXT : MockspressoExtension<MockspressoExtension.Builder<*, *, *>!>!, RULE : MockspressoExtension.Rule<MockspressoExtension.Builder<*, *, *>!>!, BLDR : MockspressoExtension.Builder<MockspressoExtension<*>!, MockspressoExtension.Rule<*>!, MockspressoExtension.Builder<*, *, *>>!> : Builder

Custom extension of MockspressoExtension.Builder Extend this interface and add your custom methods to create your own Mockspresso extension.

Functions

build

abstract fun build(): EXT

buildRule

abstract fun buildRule(): RULE

dependency

abstract fun <T : Any!, V : T> dependency(clazz: Class<T>, value: V?): BLDR
abstract fun <T : Any!, V : T> dependency(typeToken: TypeToken<T>, value: V?): BLDR
abstract fun <T : Any!, V : T> dependency(key: DependencyKey<T>, value: V?): BLDR

dependencyProvider

abstract fun <T : Any!, V : T> dependencyProvider(clazz: Class<T>, value: ObjectProvider<V>): BLDR
abstract fun <T : Any!, V : T> dependencyProvider(typeToken: TypeToken<T>, value: ObjectProvider<V>): BLDR
abstract fun <T : Any!, V : T> dependencyProvider(key: DependencyKey<T>, value: ObjectProvider<V>): BLDR

injector

abstract fun injector(injectionConfig: InjectionConfig): BLDR

innerRule

abstract fun innerRule(testRule: TestRule): BLDR
abstract fun innerRule(methodRule: MethodRule): BLDR

mocker

abstract fun mocker(mockerConfig: MockerConfig): BLDR

outerRule

abstract fun outerRule(testRule: TestRule): BLDR
abstract fun outerRule(methodRule: MethodRule): BLDR

plugin

abstract fun plugin(plugin: MockspressoPlugin): BLDR

realObject

abstract fun <T : Any!> realObject(objectClass: Class<T>): BLDR
abstract fun <T : Any!> realObject(objectToken: TypeToken<T>): BLDR
abstract fun <T : Any!> realObject(keyAndImplementation: DependencyKey<T>): BLDR
abstract fun <T : Any!> realObject(key: DependencyKey<T>, implementationClass: Class<out T>): BLDR
abstract fun <T : Any!> realObject(key: DependencyKey<T>, implementationToken: TypeToken<out T>): BLDR

specialObjectMaker

abstract fun specialObjectMaker(specialObjectMaker: SpecialObjectMaker): BLDR

testResources

abstract fun testResources(objectWithResources: Any): BLDR

testResourcesWithoutLifecycle

abstract fun testResourcesWithoutLifecycle(objectWithResources: Any): BLDR

Inheritors

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 Mockspresso.Builder interface. In this class you will only need to override the constructor, providing lambdas that wrap Mockspresso with your custom subclass of AbstractMockspressoExtension and Mockspresso.Rule with your custom subclass of AbstractMockspressoExtension.Rule. Of course you'll also need to override any custom methods you've added to your api.