package Ġcom . av ito . runner . service Ċ Ċ import Ġcom . av ito . logger . No Op Logger Ċ import Ġcom . av ito . runner . logging . Std Out Logger Ċ import Ġcom . av ito . runner . service . model . TestCase Run Ċ import Ġcom . av ito . runner . service . model . int ention . State Ċ import Ġcom . av ito . runner . service . worker . Device Worker Ċ import Ġcom . av ito . runner . service . worker . Device Worker Message Ċ import Ġcom . av ito . runner . service . worker . device . Device Ċ import Ġcom . av ito . runner . service . worker . device . Device . Device Status Ċ import Ġcom . av ito . runner . test . No Op Listener Ċ import Ġcom . av ito . runner . test . Test Dispatcher Ċ import Ġcom . av ito . runner . test . generate Installed Application Layer Ċ import Ġcom . av ito . runner . test . generate Instrumentation Test Action Ċ import Ġcom . av ito . runner . test . generate Int ention Ċ import Ġcom . av ito . runner . test . list WithDefault Ċ import Ġcom . av ito . runner . test . mock . Mock ActionResult Ċ import Ġcom . av ito . runner . test . mock . Mock Device Ċ import Ġcom . av ito . runner . test . random Device Coordinate Ċ import Ġcom . av ito . runner . test . receive Available Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . google . common . truth . Truth . assert With Message Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . channels . Channel Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . f unktion ale . tri es . Try Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . io . File Ċ Ċ @ Experimental Cor outines Api Ċ class ĠDevice Worker Test Ġ{ ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠNo Op Logger ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` returns Ġapplication Ġinstalled Ġevent Ġand Ġ 4 Ġpassed Ġintent ions Ġfor Ġ 4 Ġtests Ġwith Ġof Ġ 2 Ġapplications `() Ġ= ĊĠĠĠĠĠĠĠ Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompatible With Device State Ġ= ĠState ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayers Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Layer . Model ( model Ġ= Ġ" model "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Layer . Api Level ( api Ġ= Ġ 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Installed Application Layer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Installed Application Layer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent ions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccessful Device Ġ= ĠMock Device ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠStd Out Logger (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinate Ġ= Ġrandom Device Coordinate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Result Ġ= ĠMock ActionResult . Success ( 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstall Application Results Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success ( Any ()), Ġ// ĠInstall Ġapplication ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success ( Any ()) Ġ// ĠInstall Ġtest Ġapplication ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Package Results Ġ= Ġ( 0 Ġuntil Ġintent ions . size Ġ- Ġ 1 ). flatMap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Try < Any >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTry . Success ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Try < Any >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTry . Success ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetting Device Status Results Ġ= Ġlist WithDefault ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ+ Ġintent ions . size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Device Status >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Status . Alive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Tests Results Ġ= Ġintent ions . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < TestCase Run . Result >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTestCase Run . Result . Passed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Channel : ĠChannel < Device Worker Message > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChannel ( Channel . UN LIMIT ED ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= ĠIntent ions Router ( logger Ġ= Ġlogger ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent ions . forEach Ġ{ Ġsend Int ention ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworker Ġ= Ġprovide Device Worker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresults Ġ= Ġresults Channel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Ġ= Ġsuccessful Device , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrouter Ġ= Ġrouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). run ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworker . join () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġresults Channel . receive Available () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Device . verify () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Installed Ġtwo Ġapplications ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( results . filter Is Instance < Device Worker Message . Application Installed >()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Size ( 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Received Ġresults Ġfor Ġall Ġsent Ġintent ions ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresults ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Device Worker Message . Result >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . int ention Result . int ention Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( intent ions ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` fail Ġwith Ġdevice Ġdi ed Ġevent Ġ- Ġdevice Ġis Ġfreeze Ġbefore Ġprocessing Ġintent ions `() Ġ= ĊĠĠĠĠĠĠĠ Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfreeze Device Ġ= ĠMock Device ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠStd Out Logger (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinate Ġ= Ġrandom Device Coordinate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Result Ġ= ĠMock ActionResult . Success ( 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstall Application Results Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetting Device Status Results Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Device Status >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Status . Freeze ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Tests Results Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Channel Ġ= ĠChannel < Device Worker Message >( Channel . UN LIMIT ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= ĠIntent ions Router ( logger Ġ= Ġlogger ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworker Ġ= Ġprovide Device Worker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresults Ġ= Ġresults Channel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Ġ= Ġfreeze Device , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrouter Ġ= Ġrouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). run ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworker . join () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfreeze Device . verify () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Results Ġ= Ġresults Channel . receive Available () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Received Ġno Ġmessages ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( actual Results ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Size ( 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual Results [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isInstanceOf ( Device Worker Message . Worker Di ed :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` returns Ġfailed Ġmessage Ġ- Ġdevice Ġis Ġfreeze Ġwhile Ġprocessing Ġfirst Ġintention `() Ġ= ĊĠĠĠĠĠĠĠ Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompatible With Device State Ġ= ĠState ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayers Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Layer . Model ( model Ġ= Ġ" model "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . Layer . Api Level ( api Ġ= Ġ 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Installed Application Layer (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Installed Application Layer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent ions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Int ention ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcompatible With Device State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġgenerate Instrumentation Test Action () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfreeze Device Ġ= ĠMock Device ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠStd Out Logger (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinate Ġ= Ġrandom Device Coordinate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Result Ġ= ĠMock ActionResult . Success ( 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstall Application Results Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgetting Device Status Results Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Device Status >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Status . Alive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock ActionResult . Success < Device Status >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDevice Status . Freeze ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Tests Results Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Channel : ĠChannel < Device Worker Message > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChannel ( Channel . UN LIMIT ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= ĠIntent ions Router ( logger Ġ= Ġlogger ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent ions . forEach Ġ{ Ġsend Int ention ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworker Ġ= Ġprovide Device Worker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresults Ġ= Ġresults Channel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice Ġ= Ġfreeze Device , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrouter Ġ= Ġrouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). run ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworker . join () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġresults Channel . receive Available () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfreeze Device . verify () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Received Ġonly Ġone Ġmessage Ġfrom Ġworker ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( results ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Size ( 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Received Ġonly ĠWorker Ġfailed Ġmessage Ġfor Ġfreeze Ġdevice ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( results [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isInstanceOf ( Device Worker Message . Worker Di ed :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert With Message (" Received Ġonly ĠWorker Ġfailed Ġmessage Ġfor Ġfreeze Ġdevice ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( results [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isInstanceOf ( Device Worker Message . Failed Int ention Processing :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprovide Device Worker ( ĊĠĠĠĠĠĠĠ Ġresults : ĠChannel < Device Worker Message >, ĊĠĠĠĠĠĠĠ Ġdevice : ĠDevice , ĊĠĠĠĠĠĠĠ Ġrouter : ĠIntent ions Router ĊĠĠĠ Ġ) Ġ= ĠDevice Worker ( ĊĠĠĠĠĠĠĠ Ġintent ions Router Ġ= Ġrouter , ĊĠĠĠĠĠĠĠ Ġmessages Channel Ġ= Ġresults , ĊĠĠĠĠĠĠĠ Ġdevice Ġ= Ġdevice , ĊĠĠĠĠĠĠĠ Ġoutput Directory Ġ= ĠFile (""), ĊĠĠĠĠĠĠĠ Ġlistener Ġ= ĠNo Op Listener , ĊĠĠĠĠĠĠĠ Ġdispatch ers Ġ= ĠTest Dispatcher , ĊĠĠĠĠĠĠĠ Ġlogger Ġ= Ġlogger ĊĠĠĠ Ġ) Ċ } Ċ