abstract class ContainsObjectsAssertionCreator<T : Any, TT : Any, in SC, S : Contains.SearchBehaviour, C : Contains.Checker> : ContainsAssertionCreator<T, TT, SC, C>
Represents the base class for Contains.Creators which use bare objects as search criteria (matching them
with ==
).
It provides a template to fulfill the job of creating the sophisticated contains
Assertion.
T
- The type of the subject of the assertion.
TT
- The type of the subject of the assertion after making it multiple times consumable.
SC
- The type of the search criteria.
S
- The type of the current Contains.SearchBehaviour.
C
- The type of the checkers in use (typically a sub interface of Contains.Checker).
ContainsObjectsAssertionCreator(searchBehaviour: S, checkers: List<C>)
Represents the base class for Contains.Creators which use bare objects as search criteria (matching them
with |
abstract val descriptionNumberOfOccurrences: Translatable
Provides the translation for |
|
abstract val groupDescription: Translatable
Provides the translation for AssertionGroup.description |
abstract val descriptionContains: Translatable
Provides the translation for |
|
val searchBehaviour: Contains.SearchBehaviour |
abstract fun decorateAssertion(container: AssertionContainer<TT>, featureAssertion: Assertion): List<Assertion>
Either return the given featureAssertion as List or add further assertions. |
|
abstract fun getAssertionGroupType(): AssertionGroupType
Provides the AssertionGroupType for the resulting AssertionGroup. |
|
abstract fun search(multiConsumableContainer: AssertionContainer<TT>, searchCriterion: SC): Int
Searches for something matching the given searchCriterion in the subject of the given multiConsumableContainer and returns the number of occurrences. |
|
fun searchAndCreateAssertion(multiConsumableContainer: AssertionContainer<TT>, searchCriterion: SC, featureFactory: (Int, Translatable) -> AssertionGroup): AssertionGroup
Searches for something fulfilling the given searchCriterion in the subject of the assertion associated with the given multiConsumableContainer and should pass on the number of occurrences to the given featureFactory which creates feature assertions based on the checkers, which in turn can be used to create a resulting AssertionGroup representing the assertion for a search criteria as a whole. |
fun createAssertionGroup(container: AssertionContainer<T>, searchCriteria: List<SC>): AssertionGroup
Creates an AssertionGroup representing the sophisticated |
|
abstract fun makeSubjectMultipleTimesConsumable(container: AssertionContainer<T>): AssertionContainer<TT>
Make the underlying subject multiple times consumable. |
class CharSequenceContainsAssertionCreator<T : CharSequence, in SC : Any, S : CharSequenceContains.SearchBehaviour> : ContainsObjectsAssertionCreator<T, String, SC, S, CharSequenceContains.Checker>, CharSequenceContains.Creator<T, SC>
Represents a creator of sophisticated |
|
class InAnyOrderValuesAssertionCreator<SC, T> : ContainsObjectsAssertionCreator<T, List<SC>, SC, InAnyOrderSearchBehaviour, IterableLikeContains.Checker>, IterableLikeContains.Creator<T, SC>
Represents a creator of a sophisticated |