SubjectChanger

Defines the contract to change the subject of an assertion container (e.g. the subject of Expect) by creating a new Expect whereas the new Expect delegates assertion checking to a given original assertion container.

Inheritors

Types

Link copied to clipboard
interface FailureHandler<T, R>

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

Functions

Link copied to clipboard
abstract fun <T, R> reported(container: AssertionContainer<T>, description: Translatable, representation: Any, transformation: (T) -> Option<R>, failureHandler: SubjectChanger.FailureHandler<T, R>, maybeSubAssertions: Option<Expect<R>.() -> Unit>): Expect<R>

Changes to a new subject according to the given transformation -- the change as such is reflected in reporting by the given description and representation.

Link copied to clipboard
abstract fun <T, R> unreported(container: AssertionContainer<T>, transformation: (T) -> R): Expect<R>

Changes to a new subject according to the given transformation without showing it in reporting and returns a new Expect for the new subject.