All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.kotlin.ch.tutteli.atrium.logic.IterableLikeAssertions.kt Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
package ch.tutteli.atrium.logic

import ch.tutteli.atrium.assertions.Assertion
import ch.tutteli.atrium.creating.Expect
import ch.tutteli.atrium.creating.AssertionContainer
import ch.tutteli.atrium.logic.creating.iterable.contains.IterableLikeContains
import ch.tutteli.atrium.logic.creating.iterable.contains.searchbehaviours.NoOpSearchBehaviour
import ch.tutteli.atrium.logic.creating.iterable.contains.searchbehaviours.NotSearchBehaviour
import ch.tutteli.atrium.logic.creating.iterable.contains.steps.NotCheckerStep
import ch.tutteli.atrium.logic.creating.transformers.FeatureExtractorBuilder
import ch.tutteli.atrium.logic.creating.typeutils.IterableLike

/**
 * Collection of assertion functions and builders which are applicable to subjects which can be transformed to an
 * [Iterable] - intended for types which are Iterable like such as [Array] or [Sequence].
 */
interface IterableLikeAssertions {

    fun  builderContainsInIterableLike(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): IterableLikeContains.EntryPointStep

    fun  builderContainsNotInIterableLike(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): NotCheckerStep

    fun  all(
        container: AssertionContainer,
        converter: (T) -> Iterable,
        assertionCreatorOrNull: (Expect.() -> Unit)?
    ): Assertion

    fun  hasNext(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): Assertion

    fun  hasNotNext(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): Assertion

    fun > min(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): FeatureExtractorBuilder.ExecutionStep

    fun > max(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): FeatureExtractorBuilder.ExecutionStep

    fun  containsNoDuplicates(
        container: AssertionContainer,
        converter: (T) -> Iterable
    ): Assertion
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy