/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠInter shop ĠCom munications ĠAG . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . inter shop . ic m . jo br un ner . utils Ċ Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠProvides Ġa Ġway Ġto Ġstore Ġthe Ġresults Ġof Ġa Ġvalidation Ġor Ġassertion Ġin Ġa Ġstructured Ġway . Ċ Ġ*/ Ċ open Ġclass ĠAssertion Result Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġvalid Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġval Ġfailures : ĠMutable List < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdd Ġa Ġvalidation Ġfailure Ġto Ġthe Ġlist Ġof Ġfailures . ĊĠĠĠĠ Ġ* Ġ@ param Ġmessage ĠThe Ġmessage Ġdescribing Ġthe Ġfailure . ĠCan Ġcontain Ġ"{} " Ġplaceholders ĊĠĠĠĠ Ġ* Ġ@ param Ġvariables ĠValues Ġto Ġbe Ġused Ġinstead Ġof Ġthe Ġplaceholders ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Failure ( message : ĠString , Ġvar arg Ġvariables : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġm Ġ= Ġmessage ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġvariables . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Ġ= Ġm . replace First ( Ġ"\\ { \\ }". to Regex (), Ġvariables [ i ]. toString () Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfailures . add ( m ) ĊĠĠĠĠĠĠĠ Ġvalid Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġthe Ġvalidation Ġsucceeded . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsucceeded (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġlist Ġof Ġfailure Ġmessages Ġ( never Ġnull ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Failures (): ĠList < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfailures ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġall Ġfailure Ġmessages Ġconcaten ated Ġby Ġa Ġnew Ġline Ġcharacter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsummarize (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsummarize ("\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġseparator ĊĠĠĠĠ Ġ* Ġ@ return Ġall Ġfailure Ġmessages Ġconcaten ated Ġby Ġthe Ġgiven Ġseparator ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsummarize ( separator : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfirst Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( failure Ġin Ġfailures ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( first ) Ġ{ Ġfirst Ġ= Ġfalse Ġ} Ġelse Ġ{ Ġsb . append ( separator ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( failure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} Ċ } Ċ