interface SubjectBasedOption
(source)
Contract for sub option steps which are based on a defined or absent subject of the assertion.
interface AbsentOption<T, R>
Sub option step in case the subject is absent |
|
interface DefinedOption<T, R, AO : SubjectBasedOption.AbsentOption<T, R>>
Sub option step in case the subject is defined. |
operator fun <T, R, PO : SubjectBasedOption.DefinedOption<T, R, *>> invoke(subjectProvider: SubjectProvider<T>, subStep: PO.() -> Pair<() -> R, (T) -> R>, presentOptionFactory: () -> PO): R |