package Ġcom . y 4 n 9 b 0 . ak Ċ Ċ import Ġcom . y 4 n 9 b 0 . ak . app . cur ry Ċ import Ġcom . y 4 n 9 b 0 . fp . cur ry Ċ import Ġcom . y 4 n 9 b 0 . fp . unc ur ry Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġkotlin . jvm . functions . Function N Ċ Ċ /** Ċ Ġ* ĠExample Ġlocal Ġunit Ġtest , Ġwhich Ġwill Ġexecute Ġon Ġthe Ġdevelopment Ġmachine Ġ( host ). Ċ Ġ* Ċ Ġ* ĠSee Ġ[ testing Ġdocumentation ]( http :// d . android . com / tools / testing ). Ċ Ġ*/ Ċ class ĠExample UnitTest Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġaddition _ is Correct () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġ 2 Ġ+ Ġ 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfoo ( a : ĠInt , Ġb : ĠInt , Ġc : ĠInt , Ġd : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġa Ġ+ Ġ 1 0 Ġ* Ġb Ġ+ Ġ 1 0 0 Ġ* Ġc Ġ+ Ġ 1 0 0 0 Ġ* Ġd ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbar ( ĊĠĠĠĠĠĠĠ Ġa : ĠInt , ĊĠĠĠĠĠĠĠ Ġb : ĠInt , ĊĠĠĠĠĠĠĠ Ġc : ĠInt , ĊĠĠĠĠĠĠĠ Ġd : ĠInt , ĊĠĠĠĠĠĠĠ Ġe : ĠInt , ĊĠĠĠĠĠĠĠ Ġf : ĠInt , ĊĠĠĠĠĠĠĠ Ġg : ĠInt , ĊĠĠĠĠĠĠĠ Ġh : ĠInt , ĊĠĠĠĠĠĠĠ Ġi : ĠInt , ĊĠĠĠĠĠĠĠ Ġj : ĠInt , ĊĠĠĠĠĠĠĠ Ġk : ĠInt , ĊĠĠĠĠĠĠĠ Ġl : ĠInt , ĊĠĠĠĠĠĠĠ Ġm : ĠInt , ĊĠĠĠĠĠĠĠ Ġn : ĠInt , ĊĠĠĠĠĠĠĠ Ġo : ĠInt , ĊĠĠĠĠĠĠĠ Ġp : ĠInt , ĊĠĠĠĠĠĠĠ Ġq : ĠInt , ĊĠĠĠĠĠĠĠ Ġr : ĠInt , ĊĠĠĠĠĠĠĠ Ġs : ĠInt , ĊĠĠĠĠĠĠĠ Ġt : ĠInt , ĊĠĠĠĠĠĠĠ Ġu : ĠInt , ĊĠĠĠĠĠĠĠ Ġv : ĠInt , ĊĠĠĠĠĠĠĠ Ġw : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbaz ( var arg Ġi : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Cur ry ing () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcur ry Ġ= Ġ:: foo . cur ry () ĊĠĠĠĠĠĠĠ Ġval Ġun cur ry Ġ= Ġcur ry . unc ur ry () ĊĠĠĠĠĠĠĠ Ġval Ġb 1 Ġ= Ġ:: foo Ġis ĠFunction 1 < *, Ġ*> ĊĠĠĠĠĠĠĠ Ġval Ġb 2 Ġ= Ġcur ry Ġis ĠFunction 1 < *, Ġ*> ĊĠĠĠĠĠĠĠ Ġval Ġb 3 Ġ= Ġ:: foo Ġis ĠFunction N < *> ĊĠĠĠĠĠĠĠ Ġval Ġb 4 Ġ= Ġ:: bar Ġis ĠFunction N < *> ĊĠĠĠĠĠĠĠ Ġval Ġb 5 Ġ= Ġ:: baz Ġis ĠFunction N < *> ĊĠĠĠĠĠĠĠ Ġval Ġb 6 Ġ= Ġ:: baz Ġis ĠFunction 1 < *, Ġ*> ĊĠĠĠĠĠĠĠ Ġprintln (" b 1 =$ b 1 Ġb 2 =$ b 2 Ġb 3 =$ b 3 Ġb 4 =$ b 4 Ġb 5 =$ b 5 Ġb 6 =$ b 6 Ġfoo . name =${ :: foo . name }") ĊĠĠĠĠĠĠĠ Ġprintln (" foo =${ foo ( 9 , Ġ 5 , Ġ 2 , Ġ 7 )} Ġ Ġcur ry =${ cur ry ( 9 )( 5 )( 2 )( 7 )} ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( foo ( 9 , Ġ 5 , Ġ 2 , Ġ 7 ), Ġcur ry ( 9 )( 5 )( 2 )( 7 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( foo ( 9 , Ġ 5 , Ġ 2 , Ġ 7 ), Ġun cur ry ( 9 , Ġ 5 , Ġ 2 , Ġ 7 )) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( foo ( 9 , Ġ 5 , Ġ 2 , Ġ 7 ), Ġcur ry ( 1 )( 3 )( 1 )( 4 )) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( foo ( 9 , Ġ 5 , Ġ 2 , Ġ 7 ), Ġun cur ry ( 1 , Ġ 3 , Ġ 1 , Ġ 4 )) ĊĠĠĠ Ġ} Ċ }