doc / ch.tutteli.atrium.logic.creating.transformers.impl.subjectchanger / FailureHandlerStepImpl

FailureHandlerStepImpl

class FailureHandlerStepImpl<T, R> : SubjectChangerBuilder.FailureHandlerStep<T, R>

Constructors

<init>

FailureHandlerStepImpl(transformationStep: SubjectChangerBuilder.TransformationStep<T>, transformation: (T) -> Option<R>)

Properties

transformation

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

The previously specified transformation which will yield the new subject.

transformationStep

val transformationStep: SubjectChangerBuilder.TransformationStep<T>

The so far chosen options up to the TransformationStep step.

Functions

withDefaultFailureHandler

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

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.

Inherited Functions

build

open fun build(): SubjectChangerBuilder.ExecutionStep<T, R>

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

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.