doc / ch.tutteli.atrium.domain.creating.changers / SubjectChanger / FailureHandler


interface FailureHandler<T, R>
Deprecated: Use SubjectChanger.FailureHandler from atrium-logic; will be removed with 1.0.0

Represents a handler which is responsible to create the assertion resulting from a failed subject change.

A handler should augment the failing assertion with explanatory assertions in case the user supplied an assertionCreator lambda. Yet, a failure handler might also add additional information -- e.g. regarding the current subject.


T - The type of the subject

R - The type of the subject after the subject change (if it were possible).



abstract fun createAssertion(originalAssertionContainer: Expect<T>, descriptiveAssertion: Assertion, maybeAssertionCreator: Option<Expect<R>.() -> Unit>): Assertion

Creates the failing assertion most likely based on the given descriptiveAssertion -- which in turn is based on the previously specified description, representation etc. -- and should incorporate the assertions maybeAssertionCreator would have created for the new subject as explanatory assertions.



class FailureHandlerAdapter<T, R1, R> : SubjectChanger.FailureHandler<T, R>

Represents a SubjectChanger.FailureHandler which as an adapter for another failure handler by mapping first the given subject to another type R1 which is understood as input of the other failure handler.