package Ġio . github . j ok or ou kw u . zephyr ng . suit ew ith results factory Ċ Ċ import Ġio . github . j ok or ou kw u . zephyr ng . annotations . Ze phyr Step Ċ import Ġio . github . j ok or ou kw u . zephyr ng . dataset index provider . DataSet ID Ċ import Ġio . github . j ok or ou kw u . zephyr ng . dataset index provider . DataSet Index Provider Ċ import Ġio . github . j ok or ou kw u . zephyr ng . dataset index provider . DataSet Index Provider Impl Ċ import Ġio . github . j ok or ou kw u . zephyr ng . failed step provider . Failed Step Provider Impl Ċ import Ġio . github . j ok or ou kw u . zephyr ng . testcase key provider . TestCase Key Provider Ċ import Ġio . github . j ok or ou kw u . zephyr ng . testcase key provider . TestCase Key Provider Impl Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . testng . ITest Result Ċ Ċ private Ġval Ġlogger Ġ= ĠKotlin Logging . logger Ġ{ Ġ} Ċ Ċ class ĠTestCase Results Link er Impl ( ĊĠĠĠ Ġprivate Ġval ĠdataSet Index Provider : ĠDataSet Index Provider Ġ= ĠDataSet Index Provider Impl (), ĊĠĠĠ Ġprivate Ġval Ġfailed Step Provider : ĠFailed Step Provider Impl Ġ= ĠFailed Step Provider Impl , ĊĠĠĠ Ġprivate Ġval ĠtestCase Key Finder : ĠTestCase Key Provider Ġ= ĠTestCase Key Provider Impl , Ċ ) Ġ: ĠTestCase Results Link er Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġmap TestCase Key To DataSet Result ( test Result : ĠI TestResult ): ĠPair < String , Ġio . github . j ok or ou kw u . zephyr ng . Test Ng DataSet Result >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Ng Method Ġ= Ġtest Result . method ĊĠĠĠĠĠĠĠ Ġval ĠtestCase Key Ġ= ĠtestCase Key Finder . get TestCase Key ( test Ng Method ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval ĠdataSet Index : ĠInt ? ĊĠĠĠĠĠĠĠ Ġif Ġ(! test Result . method . is Data D riven ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Index Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠdataSet ID Ġ= ĠDataSet ID ( test Ng Method , Ġtest Result . parameters ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Index Ġ= ĠdataSet Index Provider . poll DataSet Index ( data Set ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Set Index Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ign oring Ġdata Ġset Ġresult : Ġno Ġmapping Ġfor Ġprovided Ġdataset Ġindex : Ġ{" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" test _ case _ key : Ġ'$ testCase Key ', Ġdataset _ id : Ġ$ data Set ID }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfailed Step Ġ= Ġif Ġ( test Result . is Success ) Ġnull Ġelse Ġfailed Step Provider . get Failed Step ( test Result ) ĊĠĠĠĠĠĠĠ Ġreturn ĠtestCase Key Ġto Ġio . github . j ok or ou kw u . zephyr ng . Test Ng DataSet Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime Ġ= Ġtest Result . start Millis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠendTime Ġ= Ġtest Result . end Millis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= ĠdataSet Index , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ= Ġtest Result . is Success , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Step Index Ġ= Ġfailed Step . log If NotNull ( testCase Key , ĠdataSet Index )?. value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailure Message Ġ= Ġtest Result . failure Message () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠI TestResult . failure Message () Ġ= Ġthrowable ?. toString () Ġ?: Ġ"" ĊĊĠĠĠ Ġprivate Ġfun ĠZe phyr Step ?. log If NotNull ( testCase Key : ĠString , ĠdataSet Index : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġthis ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" failed Ġstep : Ġ{ step : Ġ{ index : Ġ$ value , Ġdescription : Ġ$ description }, Ġtest _ case _ key : Ġ$ testCase Key , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data _ set _ index : Ġ$ data Set Index }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ }