package Ġsp . ax . ui . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertFalse Ċ import Ġorg . junit . Assert . assertNot Equals Ċ import Ġorg . junit . Assert . assert Throws Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġsp . ax . ui . Build Config Ċ import Ġsp . ax . ui . entity . Insets Ċ import Ġsp . ax . ui . entity . in sets Ċ import Ġjava . util . concurrent . atomic . Atomic Integer Ċ Ċ @ Config ( manifest Ġ= ĠConfig . NONE , Ġmin Sdk Ġ= ĠBuild Config . MIN _ SDK , Ġmax Sdk Ġ= ĠBuild Config . TARGET _ SDK ) Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠView Util Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext Ġ= ĠApplication Provider . getApplicationContext () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Padding Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠView ( context ) ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġ 0 , Ġtop Ġ= Ġ 0 , Ġright Ġ= Ġ 0 , Ġbottom Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġpadding Left Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġpadding Top Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġpadding Right Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġval Ġpadding Bottom Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġview . set Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Left , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Top , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Right , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Bottom ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġpadding Left , Ġtop Ġ= Ġpadding Top , Ġright Ġ= Ġpadding Right , Ġbottom Ġ= Ġpadding Bottom ) ĊĠĠĠĠĠĠĠ Ġval Ġpadding : ĠIn sets Ġ= Ġview . get Padding () ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġpadding . left , Ġtop Ġ= Ġpadding . top , Ġright Ġ= Ġpadding . right , Ġbottom Ġ= Ġpadding . bottom ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Padding Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠView ( context ) ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġ 0 , Ġtop Ġ= Ġ 0 , Ġright Ġ= Ġ 0 , Ġbottom Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠAtomicInteger ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġvalue . get And Increment () ĊĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġvalue . get And Increment () ĊĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġvalue . get And Increment () ĊĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġvalue . get And Increment () ĊĠĠĠĠĠĠĠ Ġview . set Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin sets ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġleft , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġright , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġbottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġleft , Ġtop Ġ= Ġtop , Ġright Ġ= Ġright , Ġbottom Ġ= Ġbottom ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Padding Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠView ( context ) ĊĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġ 0 , Ġtop Ġ= Ġ 0 , Ġright Ġ= Ġ 0 , Ġbottom Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠAtomicInteger ( 1 ) ĊĠĠĠĠĠĠĠ Ġvalue . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġleft , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġright , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġbottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġleft , Ġtop Ġ= Ġtop , Ġright Ġ= Ġright , Ġbottom Ġ= Ġbottom ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvalue . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġview . padding Left ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġview . padding Right ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġbottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġleft , Ġtop Ġ= Ġtop , Ġright Ġ= Ġright , Ġbottom Ġ= Ġbottom ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvalue . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġview . padding Top ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġit . get And Increment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Ġ= Ġview . padding Bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġleft , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġright ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . assert Padding ( left Ġ= Ġleft , Ġtop Ġ= Ġtop , Ġright Ġ= Ġright , Ġbottom Ġ= Ġbottom ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Default Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġview ( context ). assert Default ( layout Params Ġ= ĠView Default . layout Params ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Has Click Listeners Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġview ( context ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( view . has OnClick Listeners ()) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . R ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( view . has On Long Click Listeners ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Set OnClick Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Set OnClick Ġ{ ĠonClick : Ġ() Ġ-> ĠUnit , Ġon Long Click : Ġ() Ġ-> ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonClick , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Long Click Ġ= Ġon Long Click ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Default Click Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows ( IllegalStateException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Default . onClick () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( IllegalStateException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Default . on Long Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġview Action Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinit Ġ= Ġ 1 1 ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠAtomicInteger ( init ) ĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġ 2 1 ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( first , Ġvalue . get ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( init , Ġvalue . get ()) ĊĠĠĠĠĠĠĠ Ġview ( context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . set ( first ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( first , Ġvalue . get ()) ĊĠĠĠ Ġ} Ċ } Ċ