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

main.kotlin.ch.tutteli.atrium.logic.CharSequenceAssertions.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.AssertionContainer
import ch.tutteli.atrium.logic.creating.charsequence.contains.CharSequenceContains
import ch.tutteli.atrium.logic.creating.charsequence.contains.searchbehaviours.NoOpSearchBehaviour
import ch.tutteli.atrium.logic.creating.charsequence.contains.searchbehaviours.NotSearchBehaviour
import ch.tutteli.atrium.logic.creating.charsequence.contains.steps.NotCheckerStep

/**
 * Collection of assertion functions and builders which are applicable to subjects with a [CharSequence] type.
 */
interface CharSequenceAssertions {

    /**
     * Starts the building process of a sophisticated `contains` assertions.
     */
    fun  containsBuilder(
        container: AssertionContainer
    ): CharSequenceContains.EntryPointStep

    /**
     * Starts the building process of a sophisticated `contains` assertions and already applies a [NotCheckerStep] with
     * a [NotSearchBehaviour].
     */
    fun  containsNotBuilder(
        container: AssertionContainer
    ): NotCheckerStep

    fun  startsWith(container: AssertionContainer, expected: CharSequence): Assertion
    fun  startsNotWith(container: AssertionContainer, expected: CharSequence): Assertion
    fun  endsWith(container: AssertionContainer, expected: CharSequence): Assertion
    fun  endsNotWith(container: AssertionContainer, expected: CharSequence): Assertion
    fun  isEmpty(container: AssertionContainer): Assertion
    fun  isNotEmpty(container: AssertionContainer): Assertion
    fun  isNotBlank(container: AssertionContainer): Assertion

    fun  matches(container: AssertionContainer, expected: Regex): Assertion
    fun  mismatches(container: AssertionContainer, expected: Regex): Assertion
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy