doc / ch.tutteli.atrium.domain.creating.charsequence.contains / CharSequenceContains

CharSequenceContains

interface CharSequenceContains (source)

Defines the contract for sophisticated CharSequence builders.

The building process is typically started by the creation of a Builder, goes on by specifying a desired SearchBehaviour, defines which Checkers should be applied and is finalized by one of the CharSequenceContainsAssertions which usually use a Creator which in turn use a Searcher.

Types

Builder

interface Builder<out T : CharSequence, out S : SearchBehaviour> : Builder<T, S>

The entry point of the CharSequence contains contract, containing the plant to which the sophisticated contain assertion should be added as well as the chosen searchBehaviour.

Checker

interface Checker : Checker

Represents a check for the search result such as: the object is contained exactly once in the input of the search.

CheckerOption

interface CheckerOption<out T : CharSequence, out S : SearchBehaviour> : CheckerOption<T, S, Checker, Builder<T, S>>

The step of choosing/defining Checkers.

Creator

interface Creator<in T : CharSequence, in SC> : Creator<T, SC>

Represents the final step of a sophisticated contains assertion builder which creates the AssertionGroup as such.

SearchBehaviour

interface SearchBehaviour : SearchBehaviour

Represents a search behaviour but leaves it up to the Searcher how this behaviour is implemented -- yet, it provides a method to decorate a description (a Translatable) in order that it reflects the search behaviour.

Searcher

interface Searcher<S : SearchBehaviour>

Represents a searcher which supports the search behaviour S for a given input CharSequence of the search.