doc / ch.tutteli.atrium.domain.creating.collectors / AssertionCollectorForExplanation / collect

collect

open fun <T : Any> collect(warningCannotEvaluate: Translatable, maybeSubject: MaybeSubject<T>, assertionCreator: (CollectingAssertionPlant<T>.() -> Unit)?): List<Assertion>
Deprecated: Switch from Assert to Expect and use the other overload; will be removed with 1.0.0

Collects the Assertion created by assertionCreator and uses the given maybeSubject as CollectingAssertionPlant.subject if it is MaybeSubject.Present.

In case maybeSubject is MaybeSubject.Absent and assertionCreator is accessed, then a PlantHasNoSubjectException is thrown and caught in which case a single AssertionGroup with an ExplanatoryAssertionGroupType is returned containing the given warningCannotEvaluate.

Parameters

warningCannotEvaluate - The translatable used to explain why the assertions could not be evaluated.

assertionCreator - The function which should at least create one assertion.

maybeSubject - The subject which will be used for the CollectingAssertionPlant.

Exceptions

IllegalArgumentException - Might throw it in case not a single Assertion was collected (e.g. ThrowingAssertionCollectorForExplanation does).

Return
A list with the collected assertion or an AssertionGroup with an ExplanatoryAssertionGroupType containing a warning if maybeSubject is MaybeSubject.Absent and an assertion function tries to access it.

abstract fun <T, A : BaseAssertionPlant<T, A>, C : BaseCollectingAssertionPlant<T, A, C>> collect(warningCannotEvaluate: Translatable, maybeSubject: MaybeSubject<T>, collectingPlantFactory: (() -> T) -> C, assertionCreator: (C.() -> Unit)?): List<Assertion>
Deprecated: Switch from Assert to Expect and use the other overload; will be removed with 1.0.0

Collects the Assertion created by assertionCreator with the collecting assertion plant created by the given collectingPlantFactory and uses the given maybeSubject as BaseCollectingAssertionPlant.subject if it is MaybeSubject.Present.

In case maybeSubject is MaybeSubject.Absent and assertionCreator is accessed, then a PlantHasNoSubjectException is thrown and caught in which case a single AssertionGroup with an ExplanatoryAssertionGroupType is returned containing the given warningCannotEvaluate.

Parameters

warningCannotEvaluate - The translatable used to explain why the assertions could not be evaluated.

maybeSubject - The subject which will be used for the AssertionPlant.

collectingPlantFactory - The factory method which creates the appropriate collecting plant which is suitable for the given assertionCreator.

assertionCreator - The function which should at least create one assertion.

Exceptions

IllegalArgumentException - Might throw it in case not a single Assertion was collected (e.g. ThrowingAssertionCollectorForExplanation does).

Return
A list with the collected assertion or an AssertionGroup with an ExplanatoryAssertionGroupType containing a warning if maybeSubject is null and an assertion function tries to access it.