/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 Ġ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 . ui . material Ċ Ċ import Ġandroidx . compose . composer Ċ import Ġandroidx . test . filters . Medium Test Ċ import Ġandroidx . ui . base ui . Colo red Rect Ċ import Ġandroidx . ui . core . On Child Position ed Ċ import Ġandroidx . ui . core . Px Size Ċ import Ġandroidx . ui . core . dp Ċ import Ġandroidx . ui . core . round Ċ import Ġandroidx . ui . core . with Density Ċ import Ġandroidx . ui . layout . Center Ċ import Ġandroidx . ui . layout . Container Ċ import Ġandroidx . ui . layout . Dp Constraints Ċ import Ġandroidx . ui . graphics . Color Ċ import Ġandroidx . ui . test . create Compose Rule Ċ import Ġcom . google . common . truth . Truth Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ @ Medium Test Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠCo lo red Rect Ui Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġcompose Test Rule Ġ= Ġcreate Compose Rule () ĊĊĠĠĠ Ġprivate Ġval Ġbig Constraints Ġ= ĠD p Constraints ( ĊĠĠĠĠĠĠĠ ĠmaxWidth Ġ= Ġ 5 0 0 0 . dp , ĊĠĠĠĠĠĠĠ ĠmaxHeight Ġ= Ġ 5 0 0 0 . dp ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġcolor Ġ= ĠColor ( 0 xFFFF 0 0 0 0 . toInt ()) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcolored Rect _ fixed Sizes () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠPx Size ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġ 4 0 . dp ĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġ 7 1 . dp ĊĊĠĠĠĠĠĠĠ Ġcompose Test Rule . set Material Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCenter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( constraints Ġ= Ġbig Constraints ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Child Position ed ( on Position ed Ġ= Ġ{ Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġposition . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCo lo red Rect ( width Ġ= Ġwidth , Ġheight Ġ= Ġheight , Ġcolor Ġ= Ġcolor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith Density ( compose Test Rule . density ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. height ?. round ()). isEqualTo ( height . toInt Px ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. width ?. round ()). isEqualTo ( width . toInt Px ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcolored Rect _ expand _ Limit ed Sizes () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠPx Size ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġ 4 0 . dp ĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġ 7 1 . dp ĊĊĠĠĠĠĠĠĠ Ġcompose Test Rule . set Material Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCenter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( width Ġ= Ġwidth , Ġheight Ġ= Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Child Position ed ( on Position ed Ġ= Ġ{ Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġposition . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCo lo red Rect ( color Ġ= Ġcolor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith Density ( compose Test Rule . density ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. height ?. round ()). isEqualTo ( height . toInt Px ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. width ?. round ()). isEqualTo ( width . toInt Px ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcolored Rect _ expand _ Whole Screen Sizes () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠPx Size ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġcompose Test Rule . set Material Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCenter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( constraints Ġ= Ġbig Constraints ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Child Position ed ( on Position ed Ġ= Ġ{ Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġposition . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCo lo red Rect ( color Ġ= Ġcolor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdm Ġ= Ġcompose Test Rule . display Metrics ĊĠĠĠĠĠĠĠ Ġwith Density ( compose Test Rule . density ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. height ?. round ()?. value ). isEqualTo ( dm . height Pixels ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTr uth . assertThat ( size ?. width ?. round ()?. value ). isEqualTo ( dm . width Pixels ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }