main.kotlin.ch.tutteli.atrium.logic.CharSequenceAssertions.kt Maven / Gradle / Ivy
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
}