package Ġio . nac ular . do od le . theme Ċ Ċ import Ġio . mock k . Mock K Matcher Scope Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġio . nac ular . do od le . core . Content Direction Ċ import Ġio . nac ular . do od le . core . Display Ċ import Ġio . nac ular . do od le . core . Layout Ċ import Ġio . nac ular . do od le . core . View Ċ import Ġio . nac ular . do od le . drawing . Affine Transform Ċ import Ġio . nac ular . do od le . drawing . Fill Ċ import Ġio . nac ular . do od le . focus . Focus Traversal Policy Ċ import Ġio . nac ular . do od le . geometry . Point Ċ import Ġio . nac ular . do od le . geometry . Size Ċ import Ġio . nac ular . do od le . layout . Insets Ċ import Ġio . nac ular . do od le . system . Cursor Ċ import Ġio . nac ular . do od le . utils . Change Observer Ċ import Ġio . nac ular . do od le . utils . Observable List Ċ import Ġio . nac ular . do od le . utils . Pool Ċ import Ġio . nac ular . do od le . utils . Property Observer Ċ import Ġio . nac ular . do od le . utils . Property Observer s Ċ import Ġkotlin . js . Js Name Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . expect Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ich olas ĠE ddy Ġon Ġ 9 / 1 4 / 2 0 . Ċ Ġ*/ Ċ class ĠTheme Tests Ġ{ ĊĠĠĠ Ġ@ Test Ġ@ Js Name (" select ing New Theme Works ") ĊĠĠĠ Ġfun Ġ` select ing Ġnew Ġtheme Ġworks `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ Ġ= ĠTheme ManagerImpl ( mock k ()) ĊĠĠĠĠĠĠĠ Ġval Ġnew Theme Ġ= Ġmock k < Theme >() ĊĠĠĠĠĠĠĠ Ġval Ġobserver Ġ= Ġmock k < Property Observer < Theme Manager , ĠTheme ? >>() ĊĊĠĠĠĠĠĠĠ Ġmanager . selection Changed Ġ+= Ġobserver ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġto Ġnew Theme , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Theme Ġto Ġnull ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ Ġ( old , Ġnew ) Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . selected Ġ= Ġnew ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( new ) Ġ{ Ġmanager . selected Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Ġ!= Ġnull Ġ-> Ġexpect ( true Ġ) Ġ{ Ġnew Ġin Ġmanager . themes Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġobserver ( manager , Ġold , Ġnew ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdummy Display Ġ= Ġobject : ĠDisplay Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġcursor Ġ= Ġnull Ġas ĠCursor ? ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsize ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠSize . Empty ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġlayout ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġnull Ġas ĠLayout ? ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġin sets ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠIn sets . None ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġtransform ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠAff ine Transform . Identity ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġchildren ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠObservable List < View >() ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġcursor Changed ĠĠĠĠĠĠĠĠĠĠ Ġ= Ġmock k < Property Observer s < Display , ĠCursor ? >>() ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsize Changed ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġmock k < Property Observer s < Display , ĠSize >>() ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġfocus Traversal Policy ĠĠĠ Ġ= Ġnull Ġas ĠFocus Traversal Policy ? ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġcontent Direction Changed Ġ= Ġmock k < Pool < Change Observer < Display >> >() ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġcontent Direction ĠĠĠĠĠĠĠ Ġ= ĠContent Direction . Left Right ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġmirror When Right Left ĠĠĠĠ Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmirror ing Changed ĠĠĠĠĠĠĠ Ġ= Ġmock k < Pool < Change Observer < Display >> >() ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġto Absolute ( point : ĠPoint ) Ġ= Ġpoint ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom Absolute ( point : ĠPoint ) Ġ= Ġpoint ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfill ( fill : ĠFill ) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġchild ( at : ĠPoint ) Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġancestor Of ( view : ĠView ) Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġre layout () Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġ@ Js Name (" install s Theme On Update ") ĊĠĠĠ Ġfun Ġ` install s Ġtheme Ġon Ġupdate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ Ġ= ĠTheme ManagerImpl ( dummy Display ) ĊĠĠĠĠĠĠĠ Ġval Ġnew Theme Ġ= Ġmock k < Theme >() ĊĠĠĠĠĠĠĠ Ġval Ġview ĠĠĠĠ Ġ= Ġobject : ĠView () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġmanager . selected Ġ= Ġnew Theme ĊĊĠĠĠĠĠĠĠ Ġmanager . update ( view ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġnew Theme . install ( dummy Display , Ġseq Eq ( sequence Of ( view ))) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġ@ Js Name (" res pect s View Accept s Themes ") ĊĠĠĠ Ġfun Ġ` res pect s ĠView Ġaccepts Themes `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ Ġ= ĠTheme ManagerImpl ( dummy Display ) ĊĠĠĠĠĠĠĠ Ġval Ġnew Theme Ġ= Ġmock k < Theme >() ĊĠĠĠĠĠĠĠ Ġval Ġview ĠĠĠĠ Ġ= Ġmock k < View >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaccepts Themes Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmanager . selected Ġ= Ġnew Theme ĊĊĠĠĠĠĠĠĠ Ġmanager . update ( view ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ Ġnew Theme . install ( dummy Display , Ġseq Eq ( sequence Of ( view ))) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ< T > ĠMock K Matcher Scope . seq Eq ( seq : ĠSequence < T >) Ġ= Ġmatch < Sequence < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġit . toList () Ġ== Ġseq . toList () ĊĠĠĠ Ġ} Ċ }