package Ġio . pol ymorphic p anda . k spec Ċ Ċ import Ġcom . nat pr y ce . ham k rest . anything Ċ import Ġcom . nat pr y ce . ham k rest . assertion . assertThat Ċ import Ġcom . nat pr y ce . ham k rest . nothing Ċ import Ġcom . nat pr y ce . ham k rest . present Ċ import Ġcom . nat pr y ce . ham k rest . throws Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ author ĠR anie ĠJ ade ĠRam iso Ċ Ġ*/ Ċ class ĠUtils Test Ġ{ ĊĠĠĠ Ġ@ Target ( Annotation Target . CLASS ) ĊĠĠĠ Ġannotation Ġclass ĠFoo ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Find Annotation Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠStub ĊĠĠĠĠĠĠĠ ĠassertThat ( Utils . find Annotation ( Stub :: class , ĠFoo :: class ), Ġ! present ( nothing )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Find Annotation () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Foo ĊĠĠĠĠĠĠĠ Ġclass ĠStub ĊĊĠĠĠĠĠĠĠ ĠassertThat ( Utils . find Annotation ( Stub :: class , ĠFoo :: class ), Ġpresent ( anything )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Inst antiate Using No Arg Constructor () Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠStub ĊĊĠĠĠĠĠĠĠ ĠassertThat ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . instantiate Using No Arg Constructor ( Stub :: class ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ! throws < Throwable >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Inst antiate Using No Arg Constructor Failure () Ġ{ ĊĠĠĠĠĠĠĠ Ġclass ĠStub ( val Ġfoo : ĠInt ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . instantiate Using No Arg Constructor ( Stub :: class ) ĊĠĠĠĠĠĠĠ Ġ}, Ġthrows < NoSuch ElementException >()) ĊĠĠĠ Ġ} Ċ } Ċ