/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 Ġandroidx . gl ance . layout Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroidx . gl ance . Gl ance Modifier Ċ import Ġandroidx . gl ance . find Modifier Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġorg . junit . Test Ċ Ċ class ĠPadding Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmock Display Metrics Ġ= ĠDisplay Metrics (). also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . density Ġ= Ġdensity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmock Resources Ġ= Ġmock < Resources >() Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġdisplay Metrics Ġ} Ġdo Return Ġmock Display Metrics ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget Dimension ( dimension Res 1 ) Ġ} Ġdo Return Ġdimension 1 In Dp Ġ* Ġdensity ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġget Dimension ( dimension Res 2 ) Ġ} Ġdo Return Ġdimension 2 In Dp Ġ* Ġdensity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild Padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 3 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 4 . dp ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFind Ġthe Ġpadding Ġmodifier ... ĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . find Modifier < Padding Modifier >()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( 1 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( 3 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild Vertical Horizontal Padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( vertical Ġ= Ġ 2 . dp , Ġhorizontal Ġ= Ġ 4 . dp ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . find Modifier < Padding Modifier >()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild All Padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( all Ġ= Ġ 5 . dp ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . find Modifier < Padding Modifier >()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbuild Absolute Padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . absolute Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ 3 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 4 . dp , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . find Modifier < Padding Modifier >()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠPadding Dimension ( 1 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠPadding Dimension ( 3 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġextract Padding _ should Return Null () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . then ( object Ġ: ĠGl ance Modifier . Element Ġ{}) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( modifiers . collect Padding ()). isNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( modifiers . collect Padding In Dp ( mock Resources )). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ no Orientation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( horizontal Ġ= Ġ 1 5 . dp ). padding ( vertical Ġ= Ġdimension Res 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( 1 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( 1 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( dimension Res 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( dimension Res 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding In Dp Ġ= ĠcheckNotNull ( modifiers . collect Padding In Dp ( mock Resources )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 5 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 1 5 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġdimension 1 In Dp . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġdimension 1 In Dp . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ reset With All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( horizontal Ġ= Ġ 1 2 . dp ). padding ( all Ġ= Ġdimension Res 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( dp Ġ= Ġ 1 2 . dp , Ġresources Ġ= ĠlistOf ( dimension Res 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( dp Ġ= Ġ 1 2 . dp , Ġresources Ġ= ĠlistOf ( dimension Res 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( dimension Res 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( dimension Res 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding In Dp Ġ= ĠcheckNotNull ( modifiers . collect Padding In Dp ( mock Resources )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ( 1 2 Ġ+ Ġdimension 2 In Dp ). dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ( 1 2 Ġ+ Ġdimension 2 In Dp ). dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġdimension 2 In Dp . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġdimension 2 In Dp . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ with Relative Orientation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( start Ġ= Ġ 1 5 . dp , Ġend Ġ= Ġ 1 2 . dp , Ġtop Ġ= Ġ 2 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( end Ġ= Ġdimension Res 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( 1 5 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( dp Ġ= Ġ 1 2 . dp , Ġresources Ġ= ĠlistOf ( dimension Res 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠPadding Dimension ( 2 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ with Absolute Orientation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . absolute Padding ( left Ġ= Ġ 1 5 . dp , Ġright Ġ= Ġ 1 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. absolute Padding ( left Ġ= Ġdimension Res 1 , Ġbottom Ġ= Ġdimension Res 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠPadding Dimension ( dp Ġ= Ġ 1 5 . dp , Ġresources Ġ= ĠlistOf ( dimension Res 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠPadding Dimension ( 1 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠPadding Dimension ( dimension Res 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ set Orientation To Relative () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . absolute Padding ( left Ġ= Ġ 1 0 . dp , Ġright Ġ= Ġ 1 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġdimension Res 1 , Ġend Ġ= Ġdimension Res 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( dimension Res 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( dimension Res 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠPadding Dimension ( 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠPadding Dimension ( 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmerge Padding _ set Orientation To Absolute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Ġ= ĠGl ance Modifier . padding ( start Ġ= Ġdimension Res 1 , Ġend Ġ= Ġdimension Res 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. absolute Padding ( left Ġ= Ġ 1 0 . dp , Ġright Ġ= Ġ 1 2 . dp ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Modifier Ġ= ĠcheckNotNull ( modifiers . collect Padding ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding Modifier ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding Modifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠPadding Dimension ( 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠPadding Dimension ( 1 2 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠPadding Dimension ( dimension Res 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠPadding Dimension ( dimension Res 2 ), ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġto Relative () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpadding In Dp Ġ= ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 2 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp . to Relative ( is R tl Ġ= Ġtrue )). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 2 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp . to Relative ( is R tl Ġ= Ġfalse )). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 2 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġto Absolute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpadding In Dp Ġ= ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 1 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 2 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp . to Absolute ( is R tl Ġ= Ġtrue )). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 2 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ 1 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( padding In Dp . to Absolute ( is R tl Ġ= Ġfalse )). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPadding In Dp ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 1 1 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġ 2 2 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 5 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġ 1 0 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġdimension Res 1 Ġ= Ġ 1 2 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġdimension Res 2 Ġ= Ġ 3 2 1 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġdensity Ġ= Ġ 2 f ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġdimension 1 In Dp Ġ= Ġ 1 0 0 f ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġdimension 2 In Dp Ġ= Ġ 2 0 0 f ĊĠĠĠ Ġ} Ċ } Ċ