package Ġcom . av ito . instrumentation . internal . report Ċ Ċ import Ġcom . av ito . report . model . Fl ak iness Ċ import Ġcom . av ito . report . model . Simple Run Test Ċ Ċ internal Ġinterface ĠHas Failed Test Determin er Ġ{ ĊĊĠĠĠ Ġfun Ġdetermine ( ĊĠĠĠĠĠĠĠ Ġrun Result : Ġcom . av ito . android . Result < List < Simple Run Test >> ĊĠĠĠ Ġ): ĠResult ĊĊĠĠĠ Ġsealed Ġclass ĠResult Ġ{ ĊĊĠĠĠĠĠĠĠ Ġopen Ġfun Ġcount (): ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠDetermine Error ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthrowable : ĠThrowable ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠResult () ĊĊĠĠĠĠĠĠĠ Ġobject ĠNo Failed Ġ: ĠResult () ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠFailed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfailed : ĠList < Simple Run Test >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsup pression : ĠSup pression Ġ= ĠSup pression . No Sup pressed ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠResult () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot Sup pressed Ġ= Ġfailed . minus ( sup pression . tests ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot Sup pressed Count Ġ= Ġnot Sup pressed . size ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcount (): ĠInt Ġ= Ġfailed . size ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsealed Ġclass ĠSup pression ( val Ġtests : ĠList < Simple Run Test >) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject ĠNo Sup pressed Ġ: ĠSup pression ( emptyList ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" No Ġsupp ressed Ġtests " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠSup pressed All ( tests : ĠList < Simple Run Test >) Ġ: ĠSup pression ( tests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" Sup pressed Ġall Ġby Ġflag Ġin Ġbuild . gradle " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠSup pressed Fl aky ( tests : ĠList < Simple Run Test >) Ġ: ĠSup pression ( tests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ" Sup pressed Ġall Ġ@ Fl aky Ġtests " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠImp l ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsuppress Failure : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsuppress Fl aky : ĠBoolean ĊĠĠĠ Ġ) Ġ: ĠHas Failed Test Determin er Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdetermine ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Result : Ġcom . av ito . android . Result < List < Simple Run Test >> ĊĠĠĠĠĠĠĠ Ġ): ĠResult Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrun Result . fold ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠtestData Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfailed Tests Ġ= ĠtestData . filter Ġ{ Ġ! it . status . is Successful Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhas Failed Tests Ġ= Ġfailed Tests . isNotEmpty () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Failed Tests Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuppress Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . Failed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Ġ= Ġfailed Tests , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsup pression Ġ= ĠResult . Failed . Sup pression . Sup pressed All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtests Ġ= Ġfailed Tests ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuppress Fl aky Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . Failed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Ġ= Ġfailed Tests , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsup pression Ġ= ĠResult . Failed . Sup pression . Sup pressed Fl aky ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtests Ġ= Ġfailed Tests . filter Ġ{ Ġit . fl ak iness Ġis ĠFl ak iness . Fl aky Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠResult . Failed ( failed Ġ= Ġfailed Tests ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠResult . No Failed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġexception Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . Det ermine Error ( exception ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ