/* Ċ Ġ* Ġ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 . api . run Ċ Ċ 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 . test cases . TestCase Ċ import Ġjava . time . Instant Ċ Ċ interface ĠTestCase Runner Factory < out ĠT : ĠTestCase Runner > Ġ{ ĊĠĠĠ Ġfun ĠtestCase Run ners ( context : ĠTestCase Runner Context ): ĠArray < out ĠT > Ċ } Ċ Ċ interface ĠTestCase Runner Ġ{ ĊĠĠĠ Ġfun Ġsupports ( device : ĠDevice , ĠtestCase : ĠTestCase ): ĠBoolean ĊĠĠĠ Ġfun Ġrun ( arguments : ĠTestCase Runner Arguments ): ĠRun Tes ult Ċ } Ċ Ċ // ĠTODO : Ġreview Ġarguments Ċ data Ġclass ĠTestCase Runner Context ( ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration : ĠRun Configuration , ĊĠĠĠĠĠĠĠ Ġval Ġpool : ĠPool , ĊĠĠĠĠĠĠĠ Ġval Ġdevice : ĠDevice Ċ ) Ċ // ĠTODO : Ġreview Ġarguments Ċ data Ġclass ĠTestCase Runner Arguments ( ĊĠĠĠĠĠĠĠ Ġval Ġfile Manager : ĠTestCase FileManager , ĊĠĠĠĠĠĠĠ Ġval ĠtestCase Event : ĠTestCase Event , ĊĠĠĠĠĠĠĠ Ġval Ġstart Timestamp Utc : ĠInstant Ċ )