commonMain.ch.tutteli.atrium.api.fluent.en_GB.sequenceSubjectChangers.kt Maven / Gradle / Ivy
package ch.tutteli.atrium.api.fluent.en_GB
import ch.tutteli.atrium.creating.Expect
import ch.tutteli.atrium.logic._logic
import ch.tutteli.atrium.logic.changeSubject
/**
* Turns `Expect>` into `Expect>`.
*
* The transformation as such is not reflected in reporting.
* Use `feature(Sequence::asIterable)` if you want to show the transformation in reporting.
*
* @return The newly created [Expect] for the transformed subject.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.SequenceSubjectChangerSamples.asIterableFeature
*/
fun > Expect.asIterable(): Expect> =
_logic.changeSubject.unreported { it.asIterable() }
/**
* Expects that the subject of `this` expectation holds all assertions the given [assertionCreator] creates for
* the subject as [Iterable].
*
* The transformation as such is not reflected in reporting.
* Use `feature(Sequence::asIterable, assertionCreator)` if you want to show the transformation in reporting.
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.SequenceSubjectChangerSamples.asIterable
*/
fun > Expect.asIterable(assertionCreator: Expect>.() -> Unit): Expect =
apply { asIterable()._logic.appendAsGroup(assertionCreator) }
/**
* Turns `Expect>` into `Expect`.
*
* The transformation as such is not reflected in reporting.
* Use `feature { f(it::toList) }` if you want to show the transformation in reporting.
*
* @return The newly created [Expect] for the transformed subject.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.SequenceSubjectChangerSamples.asListFeature
*
* @since 0.14.0
*/
fun > Expect.asList(): Expect> = _logic.changeSubject.unreported { it.toList() }
/**
* Expects that the subject of `this` expectation holds all assertions the given [assertionCreator] creates for
* the subject as [List].
*
* The transformation as such is not reflected in reporting.
* Use `feature of({ f(it::toList) }, assertionCreator)` if you want to show the transformation in reporting.
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.SequenceSubjectChangerSamples.asList
*
* @since 0.14.0
*/
fun > Expect.asList(assertionCreator: Expect>.() -> Unit): Expect =
apply { asList()._logic.appendAsGroup(assertionCreator) }
© 2015 - 2025 Weber Informatics LLC | Privacy Policy