doc / ch.tutteli.atrium.assertions.iterable.contains.creators / IterableContainsInAnyOrderEntriesAssertionCreator

IterableContainsInAnyOrderEntriesAssertionCreator

class IterableContainsInAnyOrderEntriesAssertionCreator<E : Any, T : Iterable<E>> : ContainsAssertionCreator<T, IAssertionPlant<E>.() -> Unit, IChecker>, ICreator<T, IAssertionPlant<E>.() -> Unit>

Represents a creator of a sophisticated contains assertions for Iterable where an expected entry can appear in any order and is identified by holding a group of assertions, created by an assertion creator lambda.

Parameters

T - The type of the IAssertionPlant.subject for which the contains assertion is be build.

Constructors

<init>

IterableContainsInAnyOrderEntriesAssertionCreator(searchBehaviour: IterableContainsInAnyOrderSearchBehaviour, checkers: List<IChecker>)

Represents a creator of a sophisticated contains assertions for Iterable where expected entries can appear in any order and are identified by holding a group of assertions, created by an assertion creator lambda.

Functions

createAssertionGroupForSearchCriteriaAssertions

fun createAssertionGroupForSearchCriteriaAssertions(assertions: List<IAssertion>): IAssertionGroup

Creates an IAssertionGroup representing the sophisticated contains assertion as a whole based on the given assertions which where created for the search criteria.

searchAndCreateAssertion

fun searchAndCreateAssertion(plant: IAssertionPlant<T>, searchCriterion: IAssertionPlant<E>.() -> Unit, featureFactory: (Int, ITranslatable) -> IAssertionGroup): IAssertionGroup

Searches for something fulfilling the given searchCriterion in the given plant's subject and should pass on the number of occurrences to the given featureFactory which creates feature assertions based on the checkers, which in turn can be used to create a resulting IAssertionGroup representing the assertion for a search criteria as a whole.