/* Ċ Ġ* Ġ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 . benchmark . test Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . benchmark . junit 4 . Benchmark Rule Ċ import Ġandroidx . compose . Composable Ċ import Ġandroidx . compose . Frame Manager Ċ import Ġandroidx . compose . State Ċ import Ġandroidx . test . filters . Large Test Ċ import Ġandroidx . compose . state Ċ import Ġandroidx . compose . unary Plus Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġandroidx . ui . benchmark . measure First Compose Ċ import Ġandroidx . ui . benchmark . toggle State Measure Re compose Ċ import Ġandroidx . ui . core . dp Ċ import Ġandroidx . ui . core . setContent Ċ import Ġandroidx . ui . layout . Column Ċ import Ġandroidx . ui . layout . Container Ċ import Ġandroidx . ui . test . Compose TestCase Ċ import Ġandroidx . ui . test . Toggle able TestCase Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ @ Large Test Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠTr ailing Lambda Benchmark Ġ{ ĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġbenchmark Rule Ġ= ĠBenchmark Rule () ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġactivity Rule Ġ= ĠActivity Test Rule ( Activity :: class . java ) ĊĊĠĠĠ Ġprivate Ġval Ġactivity : ĠActivity Ġget () Ġ= Ġactivity Rule . activity ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwith Trailing L amb das _ compose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbenchmark Rule . measure First Compose ( activity , ĠWith Trailing L amb das ( activity )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwith Trailing L amb das _ re compose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbenchmark Rule . toggle State Measure Re compose ( activity , ĠWith Trailing L amb das ( activity )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwithout Trailing L amb das _ compose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbenchmark Rule . measure First Compose ( activity , ĠWithout Trailing L amb das ( activity )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwithout Trailing L amb das _ re compose () Ġ{ ĊĠĠĠĠĠĠĠ Ġbenchmark Rule . toggle State Measure Re compose ( activity , ĠWithout Trailing L amb das ( activity )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġsealed Ġclass ĠTr ailing Lambda TestCase ( activity : ĠActivity ) Ġ: ĠCompose TestCase ( activity ), ĊĠĠĠ ĠToggle able TestCase Ġ{ ĊĊĠĠĠ Ġvar Ġnumber State : ĠState < Int >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġset Compose Content ( activity : ĠActivity ) Ġ= Ġactivity . setContent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= Ġ+ state Ġ{ Ġ 5 Ġ} ĊĠĠĠĠĠĠĠ Ġnumber State Ġ= Ġnumber ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġ@ Composable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContainer ( width Ġ= Ġ 1 0 . dp , Ġheight Ġ= Ġ 1 0 . dp ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Content ( number Ġ= Ġnumber . value , Ġcontent Ġ= Ġcontent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} !! ĊĊĠĠĠ Ġoverride Ġfun Ġtoggle State () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( number State !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġif Ġ( value Ġ== Ġ 5 ) Ġ 1 0 Ġelse Ġ 5 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠFrame Manager . next Frame () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġabstract Ġfun Ġemit Content ( number : ĠInt , Ġcontent : Ġ@ Composable () Ġ() Ġ-> ĠUnit ) Ċ } Ċ Ċ private Ġclass ĠWith Trailing L amb das ( activity : ĠActivity ) Ġ: ĠTr ailing Lambda TestCase ( activity ) Ġ{ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġemit Content ( number : ĠInt , Ġcontent : Ġ@ Composable () Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠEmpty Composable ( number Ġ= Ġnumber ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠWithout Trailing L amb das ( activity : ĠActivity ) Ġ: ĠTr ailing Lambda TestCase ( activity ) Ġ{ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġemit Content ( number : ĠInt , Ġcontent : Ġ@ Composable () Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠEmpty Composable ( number Ġ= Ġnumber , Ġchildren Ġ= Ġcontent ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UNUSED _ PARAMETER ") Ċ @ Composable Ċ private Ġfun ĠEmpty Composable ( number : ĠInt , Ġchildren : Ġ@ Composable () Ġ() Ġ-> ĠUnit ) Ġ{} Ċ