/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠAnt on ĠMal in sk iy Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . mal in sk iy . adam . request . sync Ċ Ċ import Ġassert k . assertThat Ċ import Ġassert k . assertions . isEqualTo Ċ import Ġcom . mal in sk iy . adam . Const Ċ import Ġcom . mal in sk iy . adam . server . Android Debug Bridge Server Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Test Ċ Ċ class ĠGet A db Server Version Request Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Returns Pro per Version () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserver Ġ= ĠAndroid Debug Bridge Server () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclient Ġ= Ġserver . start And Listen Ġ{ Ġinput , Ġoutput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransport Cmd Ġ= Ġinput . receive Command () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( transport Cmd ). isEqualTo (" host : version ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . respond ( Const . Message . OK AY ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġ(" 0 0 0 2 " Ġ+ Ġ 4 1 . toString ( 1 6 )). toByteArray ( Const . DEFAULT _ TRANSPORT _ ENCODING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . write Fully ( version , Ġ 0 , Ġversion . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġclient . execute ( Get A db Server Version Request ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( version ). isEqualTo ( 4 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . dispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }