doc / ch.tutteli.atrium.domain.builders.creating.changers / SubjectChangerBuilder / FailureHandlerOption

FailureHandlerOption

interface FailureHandlerOption<T, R> (source)

Optional step which allows to specify a custom SubjectChanger.FailureHandler.

Parameters

T - the type of the current subject.

R - the type of the new subject.

Properties

transformation

abstract val transformation: (T) -> Option<R>

The previously specified new subject.

transformationStep

abstract val transformationStep: SubjectChangerBuilder.TransformationStep<T>

The so far chosen options up to the TransformationStep step.

Functions

build

open fun build(): ChangedSubjectPostStep<T, R>

Skips this step by using withDefaultFailureHandler and calls FinalStep.build.

withDefaultFailureHandler

abstract fun withDefaultFailureHandler(): SubjectChangerBuilder.FinalStep<T, R>

Uses the default SubjectChanger.FailureHandler which builds the failing assertion based on the specified TransformationStep.description and TransformationStep.representation and includes the assertions a given assertionCreator lambda would create.

withFailureHandler

abstract fun withFailureHandler(failureHandler: SubjectChanger.FailureHandler<T, R>): SubjectChangerBuilder.FinalStep<T, R>

Uses the given failureHandler as SubjectChanger.FailureHandler to create the failing assertion in case the subject change fails.

withFailureHandlerAdapter

open fun <R1> withFailureHandlerAdapter(failureHandler: SubjectChanger.FailureHandler<R1, R>, map: (T) -> R1): SubjectChangerBuilder.FinalStep<T, R>

Uses the given failureHandler as SubjectChanger.FailureHandler to create the failing assertion in case the subject change fails but previously maps the subject from T to R1 as the failure handler only deals with R1 subjects.

Companion Object Functions

create

fun <T, R> create(transformationStep: SubjectChangerBuilder.TransformationStep<T>, transformation: (T) -> Option<R>): SubjectChangerBuilder.FailureHandlerOption<T, R>

Creates a FailureHandlerOption in the context of the SubjectChangerBuilder.