package Ġcom . air bnb . mv rx . compose čĊč Ċ import Ġandroid . os . Bundle č Ċ import Ġandroidx . activity . compose . setContent č Ċ import Ġandroidx . appcompat . app . AppCompatActivity č Ċ import Ġandroidx . compose . foundation . layout . Column č Ċ import Ġandroidx . compose . material . Button č Ċ import Ġandroidx . compose . material . Text č Ċ import Ġandroidx . compose . runtime . getValue č Ċ import Ġandroidx . compose . ui . test . junit 4 . create Android Compose Rule č Ċ import Ġandroidx . compose . ui . test . on Node With Text č Ċ import Ġcom . air bnb . mv rx . M aver icks č Ċ import Ġorg . junit . Before č Ċ import Ġorg . junit . Rule č Ċ import Ġorg . junit . Test č Ċ import Ġorg . junit . runner . RunWith č Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner čĊč Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) č Ċ class ĠArgs Factory Test Ġ{ čĊĠĠĠ Ġ@ get : Rule čĊĠĠĠ Ġval Ġcompose Test Rule Ġ= Ġcreate Android Compose Rule < Args Test Activity >() čĊčĊĠĠĠ Ġ@ Before čĊĠĠĠ Ġfun ĠsetUp () Ġ{ čĊĠĠĠĠĠĠĠ ĠM aver icks . initialize ( compose Test Rule . activity ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Test čĊĠĠĠ Ġfun Ġarguments Are Pro per ly Used To Initialize State () Ġ{ čĊĠĠĠĠĠĠĠ Ġcompose Test Rule . on Node With Text (" Counter Ġvalue : Ġ 5 "). assert Exists () čĊĠĠĠ Ġ} č Ċ } čĊč Ċ class ĠArgs Test Activity Ġ: ĠAppCompatActivity () Ġ{ čĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) čĊčĊĠĠĠĠĠĠĠ Ġset Content Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠviewModel : ĠCounter ViewModel Ġ= Ġma ver icks ViewModel ( args Factory Ġ= Ġ{ ĠArguments Test ( 5 ) Ġ}) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate Ġby ĠviewModel . collect As State () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Counter Ġvalue : Ġ${ state . count }") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( onClick Ġ= ĠviewModel :: increment Count ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Increment ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊ