package Ġorg . kode in . di . er ased Ċ Ċ import Ġorg . kode in . di .* Ċ import Ġorg . kode in . di . test .* Ċ import Ġkotlin . test .* Ċ Ċ @ Fix Method Order ( Method Sort ers . NAME _ ASC ENDING ) Ċ class ĠE rase d Jvm Tests _ 0 6 _ All Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ 0 0 _ All Instances () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ode in Ġ= ĠK ode in Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Person >() Ġwith Ġprovider Ġ{ ĠPerson (" Sal om on ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < String >() Ġwith Ġprovider Ġ{ Ġ" L ail a " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġinstances : ĠList < Any > Ġby Ġk ode in . all Instances () ĊĠĠĠĠĠĠĠ ĠassertTrue ( Person (" Sal om on ") Ġin Ġinstances ) ĊĠĠĠĠĠĠĠ ĠassertTrue (" L ail a " Ġin Ġinstances ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠOnly Ġthe ĠJVM Ġsupports Ġreflection ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ 0 1 _ Multiple Multi Arguments All Factories () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ode in Ġ= ĠK ode in Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Name >() Ġwith Ġfactory Ġ{ ĠfirstName : ĠString , ĠlastName : ĠString Ġ-> ĠFull Name ( firstName , ĠlastName ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < FullName >() Ġwith Ġfactory Ġ{ ĠfirstName : ĠString , ĠlastName : ĠString Ġ-> ĠFull Name ( firstName , ĠlastName ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Name >() Ġwith Ġfactory Ġ{ Ġname : ĠString , Ġage : ĠInt Ġ-> ĠFull Infos ( name , Ġ" BR YS ", Ġage ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < String >() Ġwith Ġfactory Ġ{ ĠfirstName : ĠString , ĠlastName : ĠString Ġ-> Ġ" Mr Ġ$ firstName Ġ$ lastName " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġf Ġby Ġk ode in . All Factories < Multi 2 < String , ĠString >, ĠName >( Multi 2 . er ased (), Ġer ased ()) ĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= Ġk ode in . direct . All Factories < Multi 2 < String , ĠString >, ĠName >( Multi 2 . er ased (), Ġer ased ()) ĊĠĠĠĠĠĠĠ Ġval Ġp Ġby Ġk ode in . all Providers < Multi 2 < String , ĠString >, ĠName >( arg Ġ= ĠM (" Sal om on ", Ġ" BR YS ")) ĊĠĠĠĠĠĠĠ Ġval Ġdp Ġ= Ġk ode in . direct . all Providers < Multi 2 < String , ĠString >, ĠName >( arg Ġ= ĠM (" Sal om on ", Ġ" BR YS ")) ĊĠĠĠĠĠĠĠ Ġval Ġi Ġby Ġk ode in . all Instances < Multi 2 < String , ĠString >, ĠName >( arg Ġ= ĠM (" Sal om on ", Ġ" BR YS ")) ĊĠĠĠĠĠĠĠ Ġval Ġdi Ġ= Ġk ode in . direct . all Instances < Multi 2 < String , ĠString >, ĠName >( arg Ġ= ĠM (" Sal om on ", Ġ" BR YS ")) ĊĊĠĠĠĠĠĠĠ Ġassert All Equal ( 2 , Ġf . size , Ġdf . size , Ġp . size , Ġdp . size , Ġi . size , Ġdi . size ) ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf . map Ġ{ Ġit ( M (" Sal om on ", Ġ" BR YS ")) Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdf . map Ġ{ Ġit ( M (" Sal om on ", Ġ" BR YS ")) Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp . map Ġ{ Ġit () Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdp . map Ġ{ Ġit () Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdi ĊĊĠĠĠĠĠĠĠ Ġassert All Equal ( FullName (" Sal om on ", Ġ" BR YS "), Ġ* values . to Typed Array ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ 0 2 _ All Factories () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ode in Ġ= ĠK ode in Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Name >() Ġwith Ġfactory Ġ{ Ġname : ĠString Ġ-> ĠName ( name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < FullName >() Ġwith Ġfactory Ġ{ Ġname : ĠString Ġ-> ĠFull Name ( name , Ġ" BR YS ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < String >() Ġwith Ġfactory Ġ{ Ġname : ĠString Ġ-> Ġ" Mr Ġ$ name ĠBR YS " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġf Ġby Ġk ode in . all Factories < String , ĠName >() ĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= Ġk ode in . direct . all Factories < String , ĠName >() ĊĠĠĠĠĠĠĠ Ġval Ġp Ġby Ġk ode in . all Providers < String , ĠName >( arg Ġ= Ġ" Sal om on ") ĊĠĠĠĠĠĠĠ Ġval Ġdp Ġ= Ġk ode in . direct . all Providers < String , ĠName >( arg Ġ= Ġ" Sal om on ") ĊĠĠĠĠĠĠĠ Ġval Ġfp Ġby Ġk ode in . all Providers < String , ĠName >( f Arg Ġ= Ġ{ Ġ" Sal om on " Ġ}) ĊĠĠĠĠĠĠĠ Ġval Ġd fp Ġ= Ġk ode in . direct . all Providers < String , ĠName >( f Arg Ġ= Ġ{ Ġ" Sal om on " Ġ}) ĊĠĠĠĠĠĠĠ Ġval Ġi Ġby Ġk ode in . all Instances < String , ĠName >( arg Ġ= Ġ" Sal om on ") ĊĠĠĠĠĠĠĠ Ġval Ġdi Ġ= Ġk ode in . direct . all Instances < String , ĠName >( arg Ġ= Ġ" Sal om on ") ĊĠĠĠĠĠĠĠ Ġval Ġfi Ġby Ġk ode in . all Instances < String , ĠName >( f Arg Ġ= Ġ{ Ġ" Sal om on " Ġ}) ĊĊĠĠĠĠĠĠĠ Ġassert All Equal ( 2 , Ġf . size , Ġdf . size , Ġp . size , Ġdp . size , Ġfp . size , Ġd fp . size , Ġi . size , Ġdi . size , Ġfi . size ) ĊĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf . map Ġ{ Ġit (" Sal om on ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdf . map Ġ{ Ġit (" Sal om on ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp . map Ġ{ Ġit () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdp . map Ġ{ Ġit () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfp . map Ġ{ Ġit () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd fp . map Ġ{ Ġit () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdi , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfi ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( Name (" Sal om on ") Ġin Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( FullName (" Sal om on ", Ġ" BR YS ") Ġin Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ 0 3 _ All Providers () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ode in Ġ= ĠK ode in Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Name >() Ġwith Ġprovider Ġ{ ĠName (" Sal om on ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < FullName >() Ġwith Ġprovider Ġ{ ĠFull Name (" Sal om on ", Ġ" BR YS ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < String >() Ġwith Ġprovider Ġ{ Ġ" Mr ĠSal om on ĠBR YS " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġproviders Ġby Ġk ode in . all Providers < IN ame >() ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġproviders . size ) ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġproviders . map Ġ{ Ġit () Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Name (" Sal om on ") Ġin Ġvalues ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( FullName (" Sal om on ", Ġ" BR YS ") Ġin Ġvalues ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd Providers Ġ= Ġk ode in . direct . all Providers < IN ame >() ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġproviders . size ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd Values Ġ= Ġd Providers . map Ġ{ Ġit () Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Name (" Sal om on ") Ġin Ġd Values ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( FullName (" Sal om on ", Ġ" BR YS ") Ġin Ġd Values ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ 0 4 _ All Instances () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ode in Ġ= ĠK ode in Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < Name >() Ġwith Ġprovider Ġ{ ĠName (" Sal om on ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < FullName >() Ġwith Ġprovider Ġ{ ĠFull Name (" Sal om on ", Ġ" BR YS ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind < String >() Ġwith Ġprovider Ġ{ Ġ" Mr ĠSal om on ĠBR YS " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġby Ġk ode in . all Instances < IN ame >() ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Name (" Sal om on ") Ġin Ġvalues ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( FullName (" Sal om on ", Ġ" BR YS ") Ġin Ġvalues ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd Values Ġ= Ġk ode in . direct . all Instances < IN ame >() ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Name (" Sal om on ") Ġin Ġd Values ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( FullName (" Sal om on ", Ġ" BR YS ") Ġin Ġd Values ) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ