package Ġkafka . flow . testing Ċ Ċ public Ġclass ĠCondition < Record >( private Ġval Ġdescription : ĠString , Ġprivate Ġval Ġassertion Block : Ġ( Record ) Ġ-> ĠAny ) Ġ{ ĊĠĠĠ Ġpublic Ġfun Ġtest ( record : ĠRecord ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassertion Block . invoke ( record ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġis ĠBoolean ) Ġthrow ĠIllegalArgumentException (" The Ġcondition Ġblock Ġshould Ġbe Ġan Ġassertion Ġnot Ġa Ġpredicate Ġ( crash Ġif Ġfailed , Ġbut Ġdoes Ġreturn Ġnothing Ġwhen Ġpass )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġdescription (): ĠString Ġ= Ġ" ĠĠĠ Ġ$ description " ĊĠĠĠ Ġpublic Ġfun Ġdescription For ( record : ĠRecord ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Catch ing Ġ{ Ġassertion Block . invoke ( record ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( result . is Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġ" ĠĠĠ ĠOK ĠĠ Ġ-> Ġ$ description " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ" ĠĠĠ ĠFAIL Ġ-> Ġ$ description \ n ${ result . exception OrNull ()?. message }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }