package Ġcom . sk sam uel . kot est . engine . ext s Ċ Ċ import Ġio . kot est . core . config . configuration Ċ import Ġio . kot est . core . extensions . Discovery Extension Ċ import Ġio . kot est . core . spec . Spec Ċ import Ġio . kot est . core . spec . style . Fun Spec Ċ import Ġio . kot est . core . test . TestCase Ċ import Ġio . kot est . core . test . TestResult Ċ import Ġio . kot est . engine . launcher . execute Ċ import Ġio . kot est . engine . reporter . Reporter Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠAssert s Ġthat Ġan Ġexception Ġthrough Ġin Ġa Ġ[ Discovery Extension ] Ġis Ġcorrectly Ġhandled . Ċ Ġ*/ Ċ class ĠDiscovery Extension Exception Test Ġ: ĠFun Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġtest (" an Ġexception Ġin Ġa Ġdiscovery Ġextension Ġshould Ġbe Ġhandled ") Ġ{ ĊĊĠĠĠĠĠĠĠĠ Ġval Ġreporter Ġ= Ġobject Ġ: ĠReport er Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġerrors Ġ= Ġempty List < Throwable >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhas Errors (): ĠBoolean Ġ= Ġerrors . isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġengine Started ( classes : ĠList < K Class < out ĠSpec >>) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġengine Finished ( t : ĠList < Throwable >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= Ġt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġspec Started ( k class : ĠK Class < out ĠSpec >) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġspec Finished ( k class : ĠK Class < out ĠSpec >, Ġt : ĠThrowable ?, Ġresults : ĠMap < TestCase , ĠTest Result >) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtest Started ( testCase : ĠTestCase ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtest Finished ( testCase : ĠTestCase , Ġresult : ĠTest Result ) Ġ{} ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠ Ġconfiguration . register Extension ( ext ) ĊĠĠĠĠĠĠĠĠ Ġexecute ( reporter , Ġ" com . sk sam uel . kot est . engine . active ", Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠ Ġreporter . has Errors () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠ Ġconfiguration . dere gister Extension ( ext ) ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠEmpty Spec Ġ: ĠFun Spec () Ċ Ċ private Ġval Ġext Ġ= Ġobject Ġ: ĠDiscovery Extension Ġ{ ĊĠĠ Ġoverride Ġfun Ġafter Scan ( classes : ĠList < K Class < out ĠSpec >> ): ĠList < K Class < out ĠSpec >> Ġ{ ĊĠĠĠĠĠ Ġerror (" discovery Ġgoes Ġbo om ") ĊĠĠ Ġ} Ċ } Ċ