package Ġio . github . toy ota 3 2 k . bind it Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . google . android . material . slider . Slider Ċ import Ġio . github . toy ota 3 2 k . bind it . Slider Binding Ċ import Ġjunit . framework . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertNot Equals Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . android . controller . Activity Controller Ċ import Ġorg . ro bo lectric . annotation . Config Ċ Ċ // ĠMaterial ĠComponents Ġãģ¯ ãĢģ Ro bo lectric TestRunner ãĤĴä½¿ ãģ£ãģ¦ ãĤĤ ãģª ãĤĵ ãģĭ ãģĨ ãģ¾ ãģı ãģĦ ãģĭ ãģªãģĦ ãĢĤãĢĤ ãĢĤ Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( application = Just Test Application :: class ) Ċ class ĠSlider Binding Test Ġ{ ĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġinstant Executor Rule Ġ: ĠInstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġlateinit Ġvar Ġactivity Controller Ġ: ĠActivity Controller < Just Test Activity > ĊĊĠĠĠ Ġfun Ġcreate Activity (): ĠAppCompatActivity Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Controller Ġ= ĠRo bo lectric . build Activity ( Just Test Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity Controller . create (). start (). get () Ġas ĠAppCompatActivity ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġfinish () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Controller . pause (). destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġone Way Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġcreate Activity (); ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠSlider ( activity ). apply Ġ{ Ġvalue From = 0 f ; Ġvalue To = 1 0 0 f } ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable LiveData < Float >( 9 0 f ) ĊĊĠĠĠĠĠĠĠ Ġview . value Ġ= Ġ 5 0 f ĊĊĠĠĠĠĠĠĠ Ġvar Ġbinding Ġ= ĠSlider Binding . create ( activity , view , data , Binding Mode . One Way ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 0 f , Ġdata . value ) ĊĊĠĠĠĠĠĠĠ Ġdata . value Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( data . value , Ġview . value ) ĊĊĠĠĠĠĠĠĠ Ġview . value = Ġ 2 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( data . value , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 f , Ġdata . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġone Way To Source Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġcreate Activity (); ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠSlider ( activity ). apply Ġ{ Ġvalue From = 0 f ; Ġvalue To = 1 0 0 f } ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable LiveData < Float >( 9 0 f ) ĊĠĠĠĠĠĠĠ Ġview . value = 5 0 f ĊĊĠĠĠĠĠĠĠ Ġvar Ġbinding Ġ= ĠSlider Binding . create ( activity , view , data , Binding Mode . One Way To Source ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 f , Ġdata . value ) ĊĊĠĠĠĠĠĠĠ Ġview . value Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( data . value , Ġview . value ) ĊĊĠĠĠĠĠĠĠ Ġdata . value = Ġ 2 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 f , Ġdata . value ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( data . value , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 f , Ġview . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Way To Source Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġcreate Activity (); ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠSlider ( activity ). apply Ġ{ Ġvalue From = 0 f ; Ġvalue To = 1 0 0 f } ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable LiveData < Float >( 9 0 f ) ĊĠĠĠĠĠĠĠ Ġview . value = 5 0 f ĊĊĠĠĠĠĠĠĠ Ġvar Ġbinding Ġ= ĠSlider Binding . create ( activity , view , data , Binding Mode . Two Way ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 0 f , Ġdata . value ) ĊĊĠĠĠĠĠĠĠ Ġview . value Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 f , Ġview . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( data . value , Ġview . value ) ĊĊĠĠĠĠĠĠĠ Ġdata . value = Ġ 2 0 f ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 f , Ġdata . value ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 f , Ġview . value ) ĊĠĠĠ Ġ} Ċ }