package Ġcom . av ito . instrumentation . report Ċ Ċ import Ġcom . av ito . report . model . Android Test Ċ import Ġcom . av ito . report . model . Simple Run Test Ċ import Ġcom . av ito . report . model . Test Static Data Ċ import Ġcom . av ito . report . model . Test Static Data Package Ċ import Ġorg . f unktion ale . tri es . Try Ċ Ċ interface ĠL ost Tests Determin er Ġ{ ĊĊĠĠĠ Ġfun Ġdetermine ( ĊĠĠĠĠĠĠĠ Ġrun Result : ĠTry < List < Simple Run Test >>, ĊĠĠĠĠĠĠĠ Ġinitial Tests To Run : ĠList < Test Static Data > ĊĠĠĠ Ġ): ĠResult ĊĊĠĠĠ Ġsealed Ġclass ĠResult Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠAll Tests Reported Ġ: ĠResult () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠThere W ere Lost Tests ( val Ġlost Tests : ĠList < Android Test . Lost >) Ġ: ĠResult () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠFailed To Get Lost Tests ( val Ġexception : ĠThrowable ) Ġ: ĠResult () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠL ost Tests Determin er Implementation Ġ: ĠL ost Tests Determin er Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdetermine ( ĊĠĠĠĠĠĠĠ Ġrun Result : ĠTry < List < Simple Run Test >>, ĊĠĠĠĠĠĠĠ Ġinitial Tests To Run : ĠList < Test Static Data > ĊĠĠĠ Ġ): ĠL ost Tests Determin er . Result Ġ= ĊĊĠĠĠĠĠĠĠ Ġrun Result . fold ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠtestData Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall Reported Tests Ġ= ĠtestData . map Ġ{ ĠTest Static Data Package . from Simple Run Test ( it ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlost Tests Ġ= Ġinitial Tests To Run . subtract ( all Reported Tests ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġtest Metadata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Test . Lost . from Test Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Static Data Ġ= Ġtest Metadata , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// todo ĠÑįÑĤÐ¾ ĠÐ½ Ð¾ÑĢÐ¼ ĠÑĢÐ°Ð· Ð² Ðµ ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Signal Time Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstdout Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstderr Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( lost Tests . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ost Tests Determin er . Result . All Tests Reported ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL ost Tests Determin er . Result . There W ere Lost Tests ( lost Tests Ġ= Ġlost Tests ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġexception Ġ-> ĠL ost Tests Determin er . Result . Failed To Get Lost Tests ( exception Ġ= Ġexception ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ