package Ġio . kot est . engine . test . intercept ors Ċ Ċ import Ġio . kot est . assertions . assert Soft ly Ċ import Ġio . kot est . core . test . TestCase Ċ import Ġio . kot est . core . test . Test Scope Ċ import Ġio . kot est . core . test . TestResult Ċ import Ġio . kot est . core . test . Test Type Ċ import Ġio . kot est . mpp . log Ċ Ċ /** Ċ Ġ* ĠExec utes Ġthe Ġtest Ġwith Ġassert Soft ly Ġif Ġ[ assert Soft ly ] Ġis Ġenabled Ġfor Ġthis Ġtest Ċ Ġ* Ġand Ġif Ġthe Ġ[ TestCase ] Ġis Ġa Ġ[ Test Type . Test ]. Ċ Ġ*/ Ċ internal Ġclass ĠSoft Assert Interceptor () Ġ: ĠTest Execution Interceptor Ġ{ ĊĊĠĠ Ġprivate Ġfun Ġshould Apply ( testCase : ĠTestCase ): ĠBoolean Ġ{ ĊĠĠĠĠĠ Ġreturn ĠtestCase . type Ġ== ĠTest Type . Test Ġ&& ĠtestCase . config . assert Soft ly ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġsuspend Ġfun Ġintercept ( ĊĠĠĠĠĠ Ġtest : Ġsuspend Ġ( TestCase , ĠTest Scope ) Ġ-> ĠTest Result ĊĠĠ Ġ): Ġsuspend Ġ( TestCase , ĠTest Scope ) Ġ-> ĠTest Result Ġ= Ġ{ ĠtestCase , Ġcontext Ġ-> ĊĠĠĠĠĠ Ġif Ġ( should Apply ( testCase )) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġlog Ġ{ Ġ" Soft Assert Interceptor : ĠInv oking Ġtest Ġwith Ġsoft Ġassert " Ġ} ĊĠĠĠĠĠĠĠĠ Ġassert Soft ly Ġ{ Ġtest ( testCase , Ġcontext ) Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ Ġlog Ġ{ Ġ" Soft Assert Interceptor : ĠInv oking Ġtest Ġ* without * Ġsoft Ġassert " Ġ} ĊĠĠĠĠĠĠĠĠ Ġtest ( testCase , Ġcontext ) ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } Ċ