package Ġio . github . y us aka 3 9 . easy Slack bot . router Ċ Ċ import Ġorg . junit . Test Ċ import Ġkotlin . reflect . full . member Properties Ċ import Ġkotlin . reflect . jvm . is Accessible Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠAnnotation Based Handler Set Factory Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġhandler Set Factory Works F ine () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo " Ġto ĠHandler Type . Listen To , Ġ" foo " Ġto ĠHandler Type . Respond To , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" bar " Ġto ĠHandler Type . Listen To , Ġ" foobar " Ġto ĠHandler Type . Respond To ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠAnnotation Based Handler Set Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" io . github . y us aka 3 9 . easy Slack bot . router . test Handler Pack " ĊĠĠĠĠĠĠĠ Ġ). create (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregex Ġ= ĠHandler :: class . member Properties . first Ġ{ Ġit . name Ġ== Ġ" regex " Ġ}. apply Ġ{ Ġthis . is Accessible Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler :: class . member Properties . first Ġ{ Ġit . name Ġ== Ġ" handler Type " Ġ}. apply Ġ{ Ġthis . is Accessible Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregex . call ( it ). toString () Ġto Ġ( type . call ( it ) Ġas ĠHandler Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue ( result . contains All ( set ) Ġ&& Ġset . contains All ( result )) ĊĠĠĠ Ġ} Ċ } ĊĊ