package Ġdev . es n ault . wan ak ana Ċ Ċ import Ġorg . junit . jupiter . api . Dynamic Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertNot Equals Ċ import Ġkotlin . test . assertTrue ĊĊ Ċ class ĠDynamic Tests Builder Ġ{ ĊĠĠĠ Ġval Ġtests Ġ= Ġmutable ListOf < Dynamic Test >() ĊĊĠĠĠ Ġfun Ġtest ( name : ĠString , Ġblock : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsafe Name Ġ= Ġif Ġ( name . isBlank ()) Ġ"\" $ name \"" Ġelse Ġname ĊĠĠĠĠĠĠĠ Ġtests . add ( Dynamic Test . dynamic Test ( safe Name , Ġblock )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest True ( name : ĠString , Ġactual : Ġ() Ġ-> ĠBoolean ) Ġ= Ġtest ( name ) Ġ{ ĠassertTrue ( actual ()) Ġ} ĊĊĠĠĠ Ġfun Ġtest True ( name : ĠString , Ġactual : ĠBoolean ) Ġ= Ġtest ( name ) Ġ{ ĠassertTrue ( actual ) Ġ} ĊĊĠĠĠ Ġfun Ġtest False ( name : ĠString , Ġactual : Ġ() Ġ-> ĠBoolean ) Ġ= Ġtest ( name ) Ġ{ ĠassertFalse ( actual ()) Ġ} ĊĊĠĠĠ Ġfun Ġtest False ( name : ĠString , Ġactual : ĠBoolean ) Ġ= Ġtest ( name ) Ġ{ ĠassertFalse ( actual ) Ġ} ĊĊĠĠĠ Ġfun Ġtest Boolean ( name : ĠString , Ġexpected : ĠBoolean , Ġactual : Ġ() Ġ-> ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ Ġactual (). let Ġ{ Ġif Ġ( expected ) ĠassertTrue ( it ) Ġelse ĠassertFalse ( it ) Ġ} Ġ} ĊĊĠĠĠ Ġfun Ġtest Boolean ( name : ĠString , Ġexpected : ĠBoolean , Ġactual : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ Ġif Ġ( expected ) ĠassertTrue ( actual ) Ġelse ĠassertFalse ( actual ) Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġtest Equals ( name : ĠString , Ġexpected : ĠT , Ġactual : Ġ() Ġ-> ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ ĠassertEquals ( expected , Ġactual ()) Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġtest Equals ( name : ĠString , Ġexpected : ĠT , Ġactual : ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ ĠassertEquals ( expected , Ġactual ) Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġtest Not Equals ( name : ĠString , Ġexpected : ĠT , Ġactual : Ġ() Ġ-> ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ Ġassert Not Equals ( expected , Ġactual ()) Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġtest Not Equals ( name : ĠString , Ġexpected : ĠT , Ġactual : ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġtest ( name ) Ġ{ Ġassert Not Equals ( expected , Ġactual ) Ġ} Ċ } Ċ Ċ fun Ġdynamic Tests ( init : ĠDynamic Tests Builder . () Ġ-> ĠUnit ) Ġ: ĠList < Dynamic Test > Ġ{ ĊĠĠĠ Ġval Ġbuilder Ġ= ĠDynamic Tests Builder () ĊĠĠĠ Ġbuilder . init () ĊĠĠĠ Ġreturn Ġbuilder . tests Ċ } Ċ