package Ġorg . cc ci . g to . android . common . pic asso . widget Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . widget . TextView Ċ import Ġorg . junit . Assert . assertSame Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . kotlin . any Ċ import Ġorg . mockito . kotlin . clear Inv ocations Ċ import Ġorg . mockito . kotlin . do Return Ċ import Ġorg . mockito . kotlin . eq Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġorg . mockito . kotlin . wh enever Ċ Ċ private Ġconst Ġval ĠWIDTH Ġ= Ġ 5 Ċ private Ġconst Ġval ĠHEIGHT Ġ= Ġ 1 0 Ċ Ċ class ĠTextView Drawable End Target Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcurrent : ĠArray < Drawable > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtarget : ĠTextView Drawable End Target ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdrawable : ĠDrawable ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Ġ= ĠArray ( 4 ) Ġ{ Ġmock () Ġ} ĊĠĠĠĠĠĠĠ Ġdrawable Ġ= Ġmock Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġintr insic Width Ġ} Ġdo Return ĠWIDTH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġintr insic Height Ġ} Ġdo Return ĠHEIGHT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview Ġ= Ġmock Ġ{ Ġon Ġ{ Ġcompound Draw ables Relative Ġ} Ġdo Return Ġcurrent Ġ} ĊĠĠĠĠĠĠĠ Ġtarget Ġ= ĠTextView Drawable End Target . of ( view ) ĊĠĠĠĠĠĠĠ Ġclear Inv ocations ( drawable , Ġview ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Target Is Saved () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠTextView Drawable End Target . of ( view ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). setTag ( any (), Ġeq ( target )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Target Is Re used () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( view . getTag ( any ())). thenReturn ( target ) ĊĊĠĠĠĠĠĠĠ ĠassertSame ( target , ĠTextView Drawable End Target . of ( view )) ĊĠĠĠĠĠĠĠ Ġverify ( view ). getTag ( any ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Update Drawable Sets Drawable () Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget . update Drawable ( drawable ) ĊĠĠĠĠĠĠĠ Ġverify ( drawable ). setBounds ( 0 , Ġ 0 , ĠWIDTH , ĠHEIGHT ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Compound Draw ables Relative ( current [ 0 ], Ġcurrent [ 1 ], Ġdrawable , Ġcurrent [ 3 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġverify Update Drawable Clear s Drawable When Drawable IsNull () Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget . update Drawable ( null ) ĊĠĠĠĠĠĠĠ Ġverify ( view ). set Compound Draw ables Relative ( current [ 0 ], Ġcurrent [ 1 ], Ġnull , Ġcurrent [ 3 ]) ĊĠĠĠ Ġ} Ċ } Ċ