/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 âĢĵ 2 0 2 0 ĠSl aw om ir ĠC zer win ski Ċ Ġ* Ċ Ġ* Ġ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 Ġit . c zer win ski . android . charts . pie chart Ċ Ċ import Ġio . mock k .* Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . impl . annotations . Rel ax ed Mock K Ċ import Ġio . mock k . junit 5 . Mock K Extension Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ Ċ @ Extend With ( Mock K Extension :: class ) Ċ class ĠP ie Chart Extensions Test Ġ{ ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġpie Chart : ĠP ie Chart ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġlistener Lambda : Ġ( view : ĠP ie Chart , Ġold Selection Index : ĠInt , Ġnew Selection Index : ĠInt ) Ġ-> ĠUnit ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġadapter : ĠP ie Chart . DataSet Adapter ĊĊĠĠĠ Ġ@ Rel ax ed Mock K ĊĠĠĠ Ġlateinit Ġvar Ġobserver Lambda : Ġ() Ġ-> ĠUnit ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġadd On Selection Changed Listener , Ġthen Ġadd Ġnew Ġselection Ġchanged Ġlistener Ġfrom Ġlambda `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpie Chart . add On Selection Changed Listener ( any ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġpie Chart . add On Selection Changed Listener ( listener Lambda ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlistener Slot Ġ= Ġslot < Pie Chart . On Selection Changed Listener >() ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġpie Chart . add On Selection Changed Listener ( capture ( listener Slot )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġlistener Slot . captured . on Selection Changed Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġpie Chart , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Selection Index Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Selection Index Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġlistener Lambda ( pie Chart , Ġ 1 , Ġ 2 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` When Ġregister Observer , Ġthen Ġadd Ġnew Ġdata Ġset Ġobserver Ġfrom Ġlambda `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġadapter . register Observer ( any ()) Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġadapter . register Observer ( observer Lambda ) ĊĊĠĠĠĠĠĠĠ Ġval Ġobserver Slot Ġ= Ġslot < Pie Chart . DataSet Observer >() ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġadapter . register Observer ( capture ( observer Slot )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġobserver Slot . captured . on DataSet Changed () ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġobserver Lambda () Ġ} ĊĠĠĠ Ġ} Ċ } Ċ