// ĠWITH _ RUNTIME Ċ // ĠFULL _ JDK Ċ Ċ fun Ġtest Pro per LineNumber After Inline (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġexception Count Ġ= Ġ 0 ; ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals ( test (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġ( e Ġas Ġjava . lang . Throwable ). get StackTrace () !!. get ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 7 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 1 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals (" 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġe . stack Trace ! ![ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 2 0 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 2 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġif Ġ( exception Count Ġ== Ġ 2 ) Ġ" OK " Ġelse Ġ" fail " Ċ } Ċ Ċ fun Ġtest Pro per Line For Other Parameters (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġexception Count Ġ= Ġ 0 ; ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals ( test (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġe . stack Trace ! ![ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 3 8 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 3 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals ( fail (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġe . stack Trace ! ![ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 5 2 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 4 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals ( fail (), Ġtest ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġe . stack Trace ! ![ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 6 5 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 5 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Equals ( fail (), Ġtest ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠAssertionError ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġe . stack Trace ! ![ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġ"${ entry . get FileName ()} :${ entry . get LineNumber () }" ĊĠĠĠĠĠĠĠ Ġif Ġ(" simple Call With Params . kt : 7 7 " Ġ!= Ġactual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" fail Ġ 6 : Ġ${ actual }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexception Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġif Ġ( exception Count Ġ== Ġ 4 ) Ġ" OK " Ġelse Ġ" fail " Ċ } ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġtest Pro per LineNumber After Inline () ĊĠĠĠ Ġif Ġ( res Ġ!= Ġ" OK ") Ġreturn Ġ"$ res " ĊĊĠĠĠ Ġreturn Ġtest Pro per Line For Other Parameters () Ċ } Ċ Ċ public Ġfun Ġcheck Equals ( p 1 : ĠString , Ġp 2 : ĠString ) Ġ{ ĊĠĠĠ Ġthrow ĠAssertionError (" fail ") Ċ } Ċ Ċ inline Ġfun Ġtest (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" 1 2 3 " Ċ } Ċ Ċ fun Ġfail (): ĠString Ġ{ ĊĠĠĠ Ġthrow ĠAssertionError (" fail ") Ċ } Ċ