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

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

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

import ch.tutteli.atrium.assertions.Assertion
import ch.tutteli.atrium.creating.AssertionContainer
import ch.tutteli.atrium.logic.CollectionLikeAssertions
import ch.tutteli.atrium.logic.createDescriptiveAssertion
import ch.tutteli.atrium.logic.creating.transformers.FeatureExtractorBuilder
import ch.tutteli.atrium.logic.creating.typeutils.CollectionLike
import ch.tutteli.atrium.logic.manualFeature
import ch.tutteli.atrium.translations.DescriptionBasic.NOT_TO_BE
import ch.tutteli.atrium.translations.DescriptionBasic.TO_BE
import ch.tutteli.atrium.translations.DescriptionCollectionExpectation.SIZE
import ch.tutteli.atrium.translations.DescriptionCollectionExpectation.EMPTY

class DefaultCollectionLikeAssertions : CollectionLikeAssertions {

    override fun  isEmpty(container: AssertionContainer, converter: (T) -> Collection<*>): Assertion =
        container.createDescriptiveAssertion(TO_BE, EMPTY) { converter(it).isEmpty() }

    override fun  isNotEmpty(container: AssertionContainer, converter: (T) -> Collection<*>): Assertion =
        container.createDescriptiveAssertion(NOT_TO_BE, EMPTY) { converter(it).isNotEmpty() }

    override fun  size(container: AssertionContainer, converter: (T) -> Collection<*>): FeatureExtractorBuilder.ExecutionStep =
        container.manualFeature(SIZE) { converter(this).size }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy