import Ġkotlinx . c interop .* Ċ import Ġkotlin . test .* Ċ import Ġobj c Tests .* Ċ Ċ @ Test Ġfun Ġtest Blocks () Ġ{ ĊĠĠĠ ĠassertTrue ( Blocks . block IsNull ( null )) ĊĠĠĠ ĠassertFalse ( Blocks . block IsNull ({ })) ĊĊĠĠĠ ĠassertEquals ( null , ĠBlocks . null Block ) ĊĠĠĠ Ġassert Not Equals ( null , ĠBlocks . notNull Block ) ĊĊĠĠĠ ĠassertEquals ( 1 0 , ĠBlocks . same ({ Ġa , Ġb , Ġc , Ġd Ġ-> Ġa Ġ+ Ġb Ġ+ Ġc Ġ+ Ġd Ġ}) !! ( 1 , Ġ 2 , Ġ 3 , Ġ 4 )) ĊĊĠĠĠ ĠassertEquals ( 2 2 2 , Ġcall Provided Block ( object Ġ: ĠNSObject (), ĠBlock Provider Protocol Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġblock (): Ġ( Int ) Ġ-> ĠInt Ġ= Ġ{ Ġit Ġ* Ġ 2 Ġ} ĊĠĠĠ Ġ}, Ġ 1 1 1 )) ĊĊĠĠĠ ĠassertEquals ( 3 2 2 , Ġcall Plus One Block ( object Ġ: ĠNSObject (), ĠBlock Consumer Protocol Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall Block ( block : Ġ(( Int ) Ġ-> ĠInt )? , Ġargument : ĠInt ) Ġ= Ġblock !! ( argument ) ĊĠĠĠ Ġ}, Ġ 3 2 1 )) Ċ } Ċ