/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 2 1 ĠWay fair . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . way fair . brick kit Ċ Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġcom . way fair . brick kit . brick . Base Brick Ċ import Ġcom . way fair . brick kit . padding . Brick Padding Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠBr ick Recycler Item Decoration Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġparent : ĠRecyclerView Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġout Rect : ĠRect Ġ= ĠRect () ĊĠĠĠ Ġprivate Ġval Ġview : ĠView Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġstate : ĠRecyclerView . State Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġbr icks Ġ= Ġmutable ListOf < Base Brick >() ĊĠĠĠ Ġprivate Ġval Ġbr ick : ĠBase Brick Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġitem Decoration : ĠBr ick Recycler Item Decoration ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( parent . getChild Adapter Position ( view )). thenReturn ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbr ick DataManager Ġ= Ġmock < Brick DataManager >() ĊĠĠĠĠĠĠĠ Ġwhenever ( brick DataManager . re cyclerView Items ). thenReturn ( br icks ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġmock < Brick Recycler Adapter >() ĊĠĠĠĠĠĠĠ Ġwhenever ( adapter . brick DataManager ). thenReturn ( brick DataManager ) ĊĠĠĠĠĠĠĠ Ġwhenever ( parent . adapter ). thenReturn ( adapter ) ĊĊĠĠĠĠĠĠĠ Ġitem Decoration Ġ= ĠBr ick Recycler Item Decoration ( brick DataManager ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbr ick Padding Ġ= Ġmock < Brick Padding >() ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . inner Left Padding ). thenReturn ( INNER _ LEFT ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . inner Top Padding ). thenReturn ( INNER _ TOP ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . inner Right Padding ). thenReturn ( INNER _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . inner Bottom Padding ). thenReturn ( INNER _ BOTTOM ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . outer Left Padding ). thenReturn ( OUT ER _ LEFT ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . outer Top Padding ). thenReturn ( OUT ER _ TOP ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . outer Right Padding ). thenReturn ( OUT ER _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick Padding . outer Bottom Padding ). thenReturn ( OUT ER _ BOTTOM ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . padding ). thenReturn ( brick Padding ) ĊĠĠĠĠĠĠĠ Ġwhenever ( parent . getChild Adapter Position ( view )). thenReturn ( 0 ) ĊĠĠĠĠĠĠĠ Ġbr icks . add ( brick ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Null Item () Ġ{ ĊĠĠĠĠĠĠĠ Ġbr icks . clear () ĊĊĠĠĠĠĠĠĠ Ġitem Decoration . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . left . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . top . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . right . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . bottom . to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Wrong DataManager () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġmock < Brick Recycler Adapter >() ĊĠĠĠĠĠĠĠ Ġwhenever ( parent . adapter ). thenReturn ( adapter ) ĊĠĠĠĠĠĠĠ Ġwhenever ( adapter . brick DataManager ). thenReturn ( mock ()) ĊĊĠĠĠĠĠĠĠ Ġitem Decoration . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . left . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . top . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . right . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . bottom . to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invalid Wrong Adapter Type () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( parent . adapter ). thenReturn ( mock ()) ĊĊĠĠĠĠĠĠĠ Ġitem Decoration . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . left . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . top . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . right . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġout Rect . bottom . to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest All Outer () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . isIn First Row ). thenReturn ( true ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . isIn Last Row ). thenReturn ( true ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . is On Left Wall ). thenReturn ( true ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . is On Right Wall ). thenReturn ( true ) ĊĊĠĠĠĠĠĠĠ Ġitem Decoration . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( OUT ER _ LEFT . to Long (), Ġout Rect . left . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( OUT ER _ TOP . to Long (), Ġout Rect . top . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( OUT ER _ RIGHT . to Long (), Ġout Rect . right . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( OUT ER _ BOTTOM . to Long (), Ġout Rect . bottom . to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest All Inner () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . isIn First Row ). thenReturn ( false ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . isIn Last Row ). thenReturn ( false ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . is On Left Wall ). thenReturn ( false ) ĊĠĠĠĠĠĠĠ Ġwhenever ( brick . is On Right Wall ). thenReturn ( false ) ĊĊĠĠĠĠĠĠĠ Ġitem Decoration . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( INNER _ LEFT . to Long (), Ġout Rect . left . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( INNER _ TOP . to Long (), Ġout Rect . top . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( INNER _ RIGHT . to Long (), Ġout Rect . right . to Long ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( INNER _ BOTTOM . to Long (), Ġout Rect . bottom . to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINNER _ LEFT Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINNER _ TOP Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINNER _ RIGHT Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINNER _ BOTTOM Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOUT ER _ LEFT Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOUT ER _ TOP Ġ= Ġ 6 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOUT ER _ RIGHT Ġ= Ġ 7 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOUT ER _ BOTTOM Ġ= Ġ 8 ĊĠĠĠ Ġ} Ċ } Ċ