doc / ch.tutteli.atrium.domain.builders.creating.collectors / AssertionCollectorBuilder / collect

collect

inline fun <T : Any> collect(noinline subjectProvider: () -> T, noinline subPlantAndAssertionCreator: CollectingAssertionPlant<T>.() -> Unit): AssertionGroup (source)

Overrides AssertionCollector.collect

Use this function if you want to make Assertion about a feature or you perform a type transformation or any other action which results in a sub-AssertionPlant being created and you do not require this resulting plant.

Or in other words, you do not want to make further assertions about the resulting subject in the resulting sub assertion plant.

This function can be useful in several cases. For instance:

Parameters

subjectProvider - Provides the subject which is used as CollectingAssertionPlant.subject.

subPlantAndAssertionCreator - A lambda which typically creates a sub AssertionPlant and adds assertions to it. For instance, if you create a feature assertion or a type transformation assertion, you will typically end up creating a sub assertion plant which delegates created Assertions to the CollectingAssertionPlant.

Exceptions

IllegalArgumentException - in case the given subPlantAndAssertionCreator did not create a single assertion, did not pass it to the CollectingAssertionPlant respectively.

Return
The collected assertions as an AssertionGroup with an InvisibleAssertionGroupType.