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

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.

Moreover, this keeps the API clean and does not pollute it with things like times, containsBuilder etc.

See https://github.com/robstoll/atrium-roadmap/wiki/Requirements#personas for more information about the personas.

Inherited Properties

times

abstract val times: Int

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.

butAtMostCheckerStep

fun <E, T, S : IterableLikeContains.SearchBehaviour> WithTimesCheckerStepLogic<E, T, S>.butAtMostCheckerStep(times: Int, nameContainsNotFun: String, atLeastButAtMostCall: (Int, Int) -> String, atLeastCall: (Int) -> String, butAtMostCall: (Int) -> String, exactlyCall: (Int) -> String, atMostCall: (Int) -> String): ButAtMostCheckerStep<E, T, S>

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.

toVarArg

fun <T> IterableLikeContains.CheckerStepLogic<*, *, *>.toVarArg(iterableLike: IterableLike): Pair<T, Array<out T>>

Transforms the given iterableLike to Pair<T, Array<out T>> with the intention that it can be easily used for a function requiring T, vararg T.

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.