package Ġio . kot est . assertions Ċ Ċ /** Ċ Ġ* ĠRun Ġmultiple Ġassertions Ġand Ġthrow Ġa Ġsingle Ġerror Ġafter Ġall Ġare Ġexecuted Ġif Ġany Ġfail Ċ Ġ* Ċ Ġ* ĠThis Ġmethod Ġwill Ġrun Ġall Ġthe Ġassertions Ġinside Ġ[ assertions ] Ġblock , Ġand Ġwill Ġcollect Ġall Ġfailures Ġthat Ġmay Ġhappen . Ċ Ġ* ĠIt Ġthen Ġcompact Ġall Ġof Ġthem Ġin Ġa Ġsingle Ġthrowable Ġand Ġthrow Ġit Ġinstead , Ġor Ġnothing Ġif Ġno Ġassertion Ġfail . Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* ĠĠĠĠ Ġ// ĠAll Ġassertions Ġbelow Ġare Ġgoing Ġto Ġbe Ġexecuted , Ġeven Ġwhen Ġone Ġor Ġmultiple Ġfail . Ċ Ġ* ĠĠĠĠ Ġ// ĠAll Ġthe Ġfailures Ġare Ġthen Ġcollected Ġand Ġthrown Ġin Ġone Ġsingle Ġthrowable . Ċ Ġ* ĠĠĠĠ Ġassert Soft ly Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġ" foo " ĠshouldBe Ġ" bar " Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġ" foo " ĠshouldBe Ġ" foo Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġ" foo " ĠshouldBe Ġ" baz " Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ inline Ġfun Ġ< T > Ġassert Soft ly ( assertions : Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠ Ġ// ĠHandle Ġthe Ġedge Ġcase Ġof Ġnested Ġcalls Ġto Ġthis Ġfunction Ġby Ġonly Ġcalling Ġthrow Collected Errors Ġin Ġthe ĊĠ Ġ// Ġout erm ost Ġverify All Ġblock ĊĠ Ġif Ġ( Error Collector . get Collection Mode () Ġ== ĠError Collection Mode . Soft ) Ġreturn Ġassertions () ĊĠ ĠError Collector . set Collection Mode ( Error Collection Mode . Soft ) ĊĠ Ġreturn Ġassertions (). apply Ġ{ ĊĠĠĠ ĠError Collector . throw Collected Errors () ĊĠ Ġ} Ċ } Ċ