doc / ch.tutteli.atrium.logic.creating.iterable.contains.steps / WithTimesCheckerStep

WithTimesCheckerStep

interface WithTimesCheckerStep<E, T, out S : IterableLikeContains.SearchBehaviour> : IterableLikeContains.CheckerStep<E, T, S>

A IterableLikeContains.CheckerStep which is used to choose a IterableLikeContains.Checker which is based on a number of times.

Extension Properties

_logic

val <E, T : Any, S : IterableLikeContains.SearchBehaviour> WithTimesCheckerStep<E, T, S>._logic: WithTimesCheckerStepLogic<E, T, S>

Entry point to the logic level of Atrium -- which is one level deeper than the API -- within the building process of a sophisticated contains assertion for Iterable.

Extension Functions

_logicAppend

fun <E, T : Any, S : IterableLikeContains.SearchBehaviour> IterableLikeContains.CheckerStep<E, T, S>._logicAppend(factory: IterableLikeContains.CheckerStepLogic<E, T, S>.() -> Assertion): Expect<T>

Appends the Assertion the given factory creates based on this IterableLikeContains.CheckerStep.

entries

fun <E : Any, T> IterableLikeContains.CheckerStep<out E?, T, InAnyOrderSearchBehaviour>.entries(assertionCreatorOrNull: (Expect<E>.() -> Unit)?, vararg otherAssertionCreatorsOrNulls: (Expect<E>.() -> Unit)?): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain an entry for assertionCreatorOrNull as well as for the otherAssertionCreatorsOrNulls where it does not matter in which order they appear -- an entry is contained if it either holds all assertions assertionCreatorOrNull creates or needs to be null in case assertionCreatorOrNull is defined as null.

entry

fun <E : Any, T> IterableLikeContains.CheckerStep<out E?, T, InAnyOrderSearchBehaviour>.entry(assertionCreatorOrNull: (Expect<E>.() -> Unit)?): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain an entry which either holds all assertions assertionCreatorOrNull creates or needs to be null in case assertionCreatorOrNull is defined as null.

entry

infix fun <E : Any, T> IterableLikeContains.CheckerStep<out E?, T, InAnyOrderSearchBehaviour>.entry(assertionCreatorOrNull: (Expect<E>.() -> Unit)?): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain an entry which either holds all assertions assertionCreatorOrNull creates or needs to be null in case assertionCreatorOrNull is defined as null.

the

infix fun <E, T> IterableLikeContains.CheckerStep<E, T, InAnyOrderSearchBehaviour>.the(values: Values<E>): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain the expected values where it does not matter in which order they appear.

infix fun <E : Any, T> IterableLikeContains.CheckerStep<out E?, T, InAnyOrderSearchBehaviour>.the(entries: Entries<E>): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain an entry for each in entries where it does not matter in which order they appear -- an entry is contained if it either holds all assertions entries.assertionCreatorOrNull creates or needs to be null in case entries.assertionCreatorOrNull is defined as null.

value

fun <E, T> IterableLikeContains.CheckerStep<E, T, InAnyOrderSearchBehaviour>.value(expected: E): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain the expected value.

value

infix fun <E, T> IterableLikeContains.CheckerStep<E, T, InAnyOrderSearchBehaviour>.value(expected: E): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain the expected value.

values

fun <E, T> IterableLikeContains.CheckerStep<E, T, InAnyOrderSearchBehaviour>.values(expected: E, vararg otherExpected: E): Expect<T>

Finishes the specification of the sophisticated contains assertion where the subject (an IterableLike) needs to contain the expected value as well as the otherExpected values where it does not matter in which order they appear.

Inheritors

AtLeastCheckerStep

interface AtLeastCheckerStep<E, T, out S : IterableLikeContains.SearchBehaviour> : WithTimesCheckerStep<E, T, S>

Represents the extension point for another step after a contains at least-check within a sophisticated contains assertion building process for IterableLike.

AtMostCheckerStep

interface AtMostCheckerStep<E, T, out S : IterableLikeContains.SearchBehaviour> : WithTimesCheckerStep<E, T, S>

Represents the extension point for another step after a contains at least once but at most-check within a sophisticated contains assertion building process for Iterable.

ButAtMostCheckerStep

interface ButAtMostCheckerStep<E, T, out S : IterableLikeContains.SearchBehaviour> : WithTimesCheckerStep<E, T, S>

Represents the extension point for another step after a contains at least but at most-check within a sophisticated contains assertion building process for Iterable.

ExactlyCheckerStep

interface ExactlyCheckerStep<E, T, out S : IterableLikeContains.SearchBehaviour> : WithTimesCheckerStep<E, T, S>

Represents the extension point for another step after a contains exactly-check within a sophisticated contains assertion building process for Iterable.

WithTimesCheckerStepInternal

interface WithTimesCheckerStepInternal<E, T, out S : IterableLikeContains.SearchBehaviour> : WithTimesCheckerStep<E, T, S>, WithTimesCheckerStepLogic<E, T, S>, IterableLikeContains.CheckerStepInternal<E, T, S>

Sole purpose of this interface is to hide IterableLikeContains.CheckerStepLogic from newcomers which usually don't have to deal with this type and to keep the API clean.