/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠTar CV Ċ Ġ* Ċ Ġ* Ġ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 . github . tar cv . t ongs . runner Ċ Ċ import Ġcom . github . tar cv . t ongs . api . T ongs Configuration Ċ import Ġcom . github . tar cv . t ongs . api . devices . Device Ċ import Ġcom . github . tar cv . t ongs . api . devices . Pool Ċ import Ġcom . github . tar cv . t ongs . api . result . Run Tes ult Ċ import Ġcom . github . tar cv . t ongs . api . result . TestCase FileManager Ċ import Ġcom . github . tar cv . t ongs . api . run .* Ċ import Ġcom . github . tar cv . t ongs . api . test cases . TestCase Ċ import Ġcom . github . tar cv . t ongs . injector . runner . Test Run Factory Injector Ċ import Ġcom . github . tar cv . t ongs . model . Android Device Ċ import Ġcom . github . tar cv . t ongs . suite . A pk TestCase Ċ Ċ class ĠAndroid Instrument ed TestCase Runner Factory : ĠTestCase Runner Factory < Android Instrument ed TestCase Runner > Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠtestCase Run ners ( context : ĠTestCase Runner Context ): ĠArray < out ĠAndroid Instrument ed TestCase Runner > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( Android Instrument ed TestCase Runner ( context )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠAndroid Instrument ed TestCase Runner ( val Ġcontext : ĠTestCase Runner Context ): ĠTestCase Runner Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsupports ( device : ĠDevice , ĠtestCase : ĠTestCase ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdevice Ġis ĠAndroid Device Ġ&& ĠtestCase . type Tag Ġ== ĠA pk TestCase :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun ( arguments : ĠTestCase Runner Arguments ): ĠRun Tes ult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġandroid Test Run Factory Ġ= ĠTest Run Factory Injector . test Run Factory ( context . configuration ) ĊĠĠĠĠĠĠĠ Ġval Ġrun Context Ġ= ĠAndroid Run Context ( context , Ġarguments ) ĊĠĠĠĠĠĠĠ Ġval Ġtest Run Ġ= Ġandroid Test Run Factory . create Test Run ( run Context , Ġarguments . testCase Event , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . device Ġas ĠAndroid Device , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . pool ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtest Run . execute () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠAndroid Run Context ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠTestCase Runner Context , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġarguments : ĠTestCase Runner Arguments Ċ ) Ġ{ ĊĠĠĠ Ġval Ġconfiguration : ĠT ongs Configuration ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcontext . configuration ĊĊĠĠĠ Ġval Ġpool : ĠPool ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcontext . pool ĊĊĠĠĠ Ġval Ġfile Manager : ĠTestCase FileManager ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġarguments . file Manager ĊĊĠĠĠ Ġval ĠtestCase Event : ĠTestCase Event ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġarguments . testCase Event ĊĊĠĠĠ Ġval Ġdevice : ĠAndroid Device ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcontext . device Ġas ĠAndroid Device Ċ }