doc / ch.tutteli.atrium.logic.creating.transformers / SubjectChangerBuilder / ExecutionStep

ExecutionStep

interface ExecutionStep<T, R> : TransformationExecutionStep<T, R, Expect<R>>

Step which allows to decide how the transformation shall be executed.

For instance, if it shall just perform the transformation and return the new Expect of type R or if it shall pass an assertionCreator-lambda which creates sub-assertions etc.

Inherited Functions

collect

abstract fun collect(assertionCreator: Expect<R>.() -> Unit): Assertion

Finishes the transformation process by collecting the assertions the given assertionCreator creates for the subject of type R resulting from the transformation and returns the assertions as a single Assertion.

collectAndAppend

abstract fun collectAndAppend(assertionCreator: Expect<R>.() -> Unit): Expect<T>

Finishes the transformation process by appending the Assertion which is returned when calling collect with the given assertionCreator.

transform

abstract fun transform(): E

Finishes the transformation process by simply performing the transformation as such.

transformAndAppend

abstract fun transformAndAppend(assertionCreator: Expect<R>.() -> Unit): Expect<R>

Finishes the transformation process by carrying the transformation out and appending the assertions the given assertionCreator creates for the subject of type R resulting from the transformation as single assertion.

Companion Object Functions

invoke

operator fun <T, R> invoke(container: AssertionContainer<T>, action: (AssertionContainer<T>) -> Expect<R>, actionAndApply: (AssertionContainer<T>, Expect<R>.() -> Unit) -> Expect<R>): SubjectChangerBuilder.ExecutionStep<T, R>

Creates the FinalStep in the context of the SubjectChangerBuilder.

Inheritors

ExecutionStepImpl

class ExecutionStepImpl<T, R> : SubjectChangerBuilder.ExecutionStep<T, R>, BaseTransformationExecutionStep<T, R, Expect<R>>