/** Ċ Ġ* ĠBack pack Ġfor ĠAndroid Ġ- ĠSky scanner 's ĠDesign ĠSystem Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 - 2 0 2 0 ĠSky scanner ĠLtd Ċ Ġ* Ċ Ġ* Ġ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 Ġnet . sky scanner . back pack . button Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Looper Ċ import Ġandroidx . appcompat . content . res . AppCompat Resources Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġnet . sky scanner . back pack . R Ċ import Ġnet . sky scanner . back pack . util . Test Activity Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠB pk Button Test Ġ{ ĊĊĠ Ġprivate Ġlateinit Ġvar Ġactivity : ĠActivity ĊĊĠ Ġ@ get : Rule ĊĠ Ġinternal Ġvar Ġactivity Rule : ĠActivity Test Rule < Test Activity > Ġ= ĊĠĠĠ ĠActivity Test Rule ( Test Activity :: class . java ) ĊĊĠ Ġ@ Before ĊĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠ Ġ// ĠRequired Ġotherwise Ġsome Ġtests Ġfail Ġwith ĊĠĠĠ Ġ// Ġandroid . util . Android RuntimeException : ĠAnim ators Ġmay Ġonly Ġbe Ġrun Ġon ĠL ooper Ġthreads ĊĠĠĠ Ġif Ġ( Looper . my Looper () Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ ĠL ooper . prepare () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactivity Ġ= Ġactivity Rule . activity ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest _ message () Ġ{ ĊĠĠĠ Ġval Ġbutton Ġ= ĠB pk Button ( activity ). apply Ġ{ ĊĠĠĠĠĠ Ġtext Ġ= Ġ" Message " ĊĠĠĠ Ġ} ĊĠĠĠ ĠAssert . assertEquals (" Message ", Ġbutton . text . toString ()) ĊĠ Ġ} ĊĊĠ Ġ// ĠThe Ġdraw ables Ġare Ġset Ġas Ġstart , top , end , bottom Ġand Ġare Ġaccessible Ġin Ġthe Ġcompound Draw ables Ġarray ĊĠ Ġ@ Test ĊĠ Ġfun Ġtest _ icon _ end () Ġ{ ĊĠĠĠ Ġval Ġtrain Icon Ġ= ĠAppCompat Resources . get Drawable ( activity , ĠR . drawable . b pk _ train ) ĊĠĠĠ Ġval Ġbutton Ġ= ĠB pk Button ( activity ). apply Ġ{ ĊĠĠĠĠĠ Ġicon Ġ= Ġtrain Icon ĊĠĠĠĠĠ Ġicon Position Ġ= ĠB pk Button . END ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠAssert . assertNotNull ( button . compound Draw ables Relative [ 2 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest _ icon _ start () Ġ{ ĊĠĠĠ Ġval Ġtrain Icon Ġ= ĠAppCompat Resources . get Drawable ( activity , ĠR . drawable . b pk _ train ) ĊĠĠĠ Ġval Ġbutton Ġ= ĠB pk Button ( activity ). apply Ġ{ ĊĠĠĠĠĠ Ġicon Ġ= Ġtrain Icon ĊĠĠĠĠĠ Ġicon Position Ġ= ĠB pk Button . START ĊĠĠĠ Ġ} ĊĠĠĠ ĠAssert . assertNotNull ( button . compound Draw ables Relative [ 0 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest _ enabled _ state () Ġ{ ĊĠĠĠ Ġval Ġbutton Ġ= ĠB pk Button ( activity , ĠB pk Button . Type . Primary ). apply Ġ{ ĊĠĠĠĠĠ Ġis Enabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠnewState Ġ= Ġfalse ĊĠĠĠ Ġval Ġexpected Background State Ġ= Ġbutton . disabled Background () ĊĠĠĠ Ġbutton . isEnabled Ġ= ĠnewState ĊĊĠĠĠ ĠAssert . assertEquals ( newState , Ġbutton . isEnabled ) ĊĠĠĠ ĠAssert . assertEquals ( expected Background State . bounds , Ġbutton . background . bounds ) ĊĠĠĠ ĠAssert . assertEquals ( expected Background State . alpha , Ġbutton . background . alpha ) ĊĠĠĠ ĠAssert . assertEquals ( expected Background State . color Filter , Ġbutton . background . color Filter ) ĊĠ Ġ} Ċ } Ċ