/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠG i org io ĠAnt oni oli Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . fon de sa . recyclerview divider Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . util . Typed Value Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . annotation . Px Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . test . core . app . Activity Scenario Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġcom . fon de sa . recyclerview divider . drawable . transparent Drawable Ċ import Ġcom . fon de sa . recyclerview divider . log . RecyclerView Divider Log Ċ import Ġcom . fon de sa . recyclerview divider . size . getDefault Size Ċ import Ġcom . fon de sa . recyclerview divider . test . R Ċ import Ġcom . fon de sa . recyclerview divider . test . Theme Test Activity Ċ import Ġcom . fon de sa . recyclerview divider . test . assertEqual Draw ables Ċ import Ġcom . fon de sa . recyclerview divider . test . context Ċ import Ġcom . fon de sa . recyclerview divider . test . launch Theme Activity Ċ import Ġcom . fon de sa . recyclerview divider . test . let Activity Ċ import Ġcom . fon de sa . recyclerview divider . test . resources Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertFalse Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . kotlin . mock Ċ import Ġorg . mockito . kotlin . never Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġorg . mockito . kotlin . verify No Interactions Ċ Ċ /** Ċ Ġ* ĠTests Ġof Ġ[ St agger ed Divider Builder ]. Ċ Ġ*/ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠSt agger ed Divider Builder Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= Ġmock < RecyclerView Divider Log . Logger >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscenario : ĠActivity Scenario < Theme Test Activity > ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġmock Logger () Ġ{ ĊĠĠĠĠĠĠĠ ĠRecyclerView Divider Log . use ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun Ġdestroy Scenario () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(:: scenario . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscenario . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġreturns Ġnew ĠSt agger ed Divider Item Decoration `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( decoration Ġis ĠSt agger ed Divider Item Decoration ) ĊĠĠĠĠĠĠĠ Ġverify ( logger , Ġnever ()). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġrender Ġthe Ġdivider Ġwithout Ġa Ġcolor . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Specify Ġ\" re cyclerView Divider Drawable \" Ġor Ġ\" android : list Divider \" Ġin Ġthe Ġtheme Ġor Ġset Ġa Ġcolor Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Ġthis ĠSt agger ed Divider Builder ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġas Space Ġnot Ġinvoked , Ġre cyclerView Divider As Space Ġnot Ġin Ġtheme Ġ- Ġreturns Ġdecoration Ġwith Ġas Space Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( decoration . as Space ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġdrawable Ġwhich Ġisn 't Ġa Ġsolid Ġcolor Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġas Space Ġnot Ġinvoked , Ġre cyclerView Divider As Space Ġtrue Ġin Ġtheme Ġ- Ġreturns Ġdecoration Ġwith Ġas Space Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( decoration . as Space ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġas Space Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġas Space Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Space () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( decoration . as Space ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Res Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġcolor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. color Res ( R . color . test _ re cyclerView Divider Drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( Context Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable )), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġcolor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( Color . RED ), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġsolid Ġopaque Ġcolor Ġin Ġtheme , Ġas Space Ġfalse Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All _ Not As Space ) ĊĠĠĠĠĠĠĠ Ġ@ Color Int Ġval Ġexpected Color Ġ= ĠContext Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( expected Color ), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġsolid Ġopaque Ġcolor Ġin Ġtheme , Ġas Space Ġtrue Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĠĠĠĠĠĠĠ Ġ@ Color Int Ġval Ġexpected Color Ġ= ĠContext Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( expected Color ), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġdrawable Ġnot Ġsolid Ġcolor Ġin Ġtheme , Ġas Space Ġfalse Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable Ġand Ġlogs Ġa Ġwarning `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All _ Not As Space _ Not Color Drawable ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Drawable Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . test _ recycler _ view _ drawable _ not _ solid ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( expected Drawable , Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġdrawable Ġwhich Ġisn 't Ġa Ġsolid Ġcolor Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġdrawable Ġnot Ġsolid Ġcolor Ġin Ġtheme , Ġas Space Ġtrue Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All _ Not Color Drawable ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Drawable Ġ= ĠContext Compat . get Drawable ( context , ĠR . drawable . test _ recycler _ view _ drawable _ not _ solid ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( drawable , Ġexpected Drawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġalpha Ġcolor Ġin Ġtheme , Ġas Space Ġfalse Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable Ġand Ġlogs Ġa Ġwarning `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All _ Not As Space _ Alpha Color ) ĊĠĠĠĠĠĠĠ Ġ@ Color Int Ġval Ġexpected Color Ġ= ĠContext Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable _ alpha ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( expected Color ), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġcolor Ġwhich Ġhas Ġalpha Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġalpha Ġcolor Ġin Ġtheme , Ġas Space Ġtrue Ġ- Ġreturns Ġdecoration Ġwith Ġdrawable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All _ Alpha Color ) ĊĠĠĠĠĠĠĠ Ġ@ Color Int Ġval Ġexpected Color Ġ= ĠContext Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable _ alpha ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( expected Color ), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġnot Ġin Ġtheme , Ġas Space Ġfalse Ġ- Ġreturns Ġdecoration Ġwith Ġtransparent Ġdrawable Ġand Ġlogs Ġa Ġwarning `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ Null Android List Divider ) ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( transparent Drawable (), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġrender Ġthe Ġdivider Ġwithout Ġa Ġcolor . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Specify Ġ\" re cyclerView Divider Drawable \" Ġor Ġ\" android : list Divider \" Ġin Ġthe Ġtheme Ġor Ġset Ġa Ġcolor Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Ġthis ĠSt agger ed Divider Builder ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġcolor Ġnot Ġset , Ġnot Ġin Ġtheme , Ġas Space Ġtrue Ġ- Ġreturns Ġdecoration Ġwith Ġtransparent Ġdrawable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ Null Android List Divider ) ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Space () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). drawable ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( transparent Drawable (), Ġdrawable ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġsize Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġsize `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 4 , Ġsize Unit Ġ= ĠTyped Value . COMPLEX _ UNIT _ DIP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ@ Px Ġval Ġprovider Size Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). size ĊĠĠĠĠĠĠĠ ĠassertEquals ( resources . px From Size ( 4 , Ġsize Unit Ġ= ĠTyped Value . COMPLEX _ UNIT _ DIP ), Ġprovider Size ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġsize Ġinvoked Ġwithout Ġsize Ġunit Ġ- Ġreturns Ġdecoration Ġwith Ġsize Ġconverted Ġin Ġpx `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġ@ Px Ġval Ġprovider Size Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). size ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġprovider Size ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġsize Ġin Ġtheme Ġ- Ġreturns Ġdecoration Ġwith Ġsize `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġ@ Px Ġval Ġprovider Size Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). size ĊĠĠĠĠĠĠĠ ĠassertEquals ( resources . px From Size ( 2 1 , Ġsize Unit Ġ= ĠTyped Value . COMPLEX _ UNIT _ DIP ), Ġprovider Size ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġsize Ġnot Ġset , Ġnot Ġin Ġtheme Ġ- Ġreturns Ġdecoration Ġwith Ġdefault Ġsize `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġ@ Px Ġval Ġprovider Size Ġ= Ġ( decoration Ġas ĠSt agger ed Divider Item Decoration ). size ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . getDefault Size (), Ġprovider Size ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġdrawable Ġwhich Ġisn 't Ġa Ġsolid Ġcolor Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġhide Side Div iders Ġnot Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġside Ġdiv iders Ġvisible `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue (( decoration Ġas ĠSt agger ed Divider Item Decoration ). are Side Div iders Visible ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġdrawable Ġwhich Ġisn 't Ġa Ġsolid Ġcolor Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġhide Side Div iders Ġinvoked Ġ- Ġreturns Ġdecoration Ġwith Ġside Ġdiv iders Ġnot Ġvisible `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hide Side Div iders () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertFalse (( decoration Ġas ĠSt agger ed Divider Item Decoration ). are Side Div iders Visible ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġensure Ġthe Ġcorrect Ġrendering Ġof Ġa Ġdivider Ġdrawable Ġwhich Ġisn 't Ġa Ġsolid Ġcolor Ġin Ġa ĠSt agger ed Grid LayoutManager ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġbase Ġconfiguration Ġ- Ġreturns Ġdefault Ġdecoration `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ Null Android List Divider ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertFalse (( decoration Ġas ĠSt agger ed Divider Item Decoration ). as Space ) ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( transparent Drawable (), Ġdecoration . drawable ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( context . getDefault Size (), Ġdecoration . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( decoration . are Side Div iders Visible ) ĊĠĠĠĠĠĠĠ Ġverify ( logger ). log Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Can 't Ġrender Ġthe Ġdivider Ġwithout Ġa Ġcolor . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Specify Ġ\" re cyclerView Divider Drawable \" Ġor Ġ\" android : list Divider \" Ġin Ġthe Ġtheme Ġor Ġset Ġa Ġcolor Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Ġthis ĠSt agger ed Divider Builder ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġtheme Ġconfiguration Ġ- Ġreturns Ġdecoration Ġwith Ġvalues Ġfrom Ġtheme `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder (). build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue (( decoration Ġas ĠSt agger ed Divider Item Decoration ). as Space ) ĊĠĠĠĠĠĠĠ Ġ@ Color Int Ġval Ġexpected Drawable Color Ġ= ĠContext Compat . getColor ( context , ĠR . color . test _ re cyclerView Divider Drawable ) ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( expected Drawable Color ), Ġdecoration . drawable ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( resources . px From Size ( 2 1 , ĠTyped Value . COMPLEX _ UNIT _ DIP ), Ġdecoration . size ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( decoration . are Side Div iders Visible ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` build Ġ- Ġdynamic Ġconfiguration Ġ- Ġreturns Ġdecoration Ġwith Ġvalues Ġset Ġdynamically `() Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario Ġ= Ġlaunch Theme Activity ( R . style . Test Theme _ All ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= Ġst agger ed Divider Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Space () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 3 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hide Side Div iders () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠassertTrue (( decoration Ġas ĠSt agger ed Divider Item Decoration ). as Space ) ĊĠĠĠĠĠĠĠ Ġassert Equal Draw ables ( Color Drawable ( Color . RED ), Ġdecoration . drawable ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 4 , Ġdecoration . size ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( decoration . are Side Div iders Visible ) ĊĠĠĠĠĠĠĠ Ġverify No Interactions ( logger ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġst agger ed Divider Builder (): ĠSt agger ed Divider Builder Ġ= Ġif Ġ(:: scenario . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠ Ġscenario . let Activity Ġ{ ĠSt agger ed Divider Builder ( it ) Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠSt agger ed Divider Builder ( context ) ĊĠĠĠ Ġ} Ċ } Ċ