package Ġat ric o . kot lib . testing Ċ Ċ import Ġkotlin . random . Random Ċ Ċ /** Ċ Ġ* ĠBase Ġclass Ġfor Ġall Ġunit Ġtests Ċ Ġ*/ Ċ abstract Ġclass ĠTest Base Ġ{ ĊĠĠĠ Ġprotected Ġval Ġrandom Ġ= ĠRandom . Default ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTest Ġcases Ġfor Ġall Ġ[ Boolean ] Ġvalues ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġval Ġboolean TestCase s Ġ= ĠlistOf ( true , Ġfalse ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġunique Ġrandom Ġvalues ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġ< T > Ġunique Values ( count : ĠInt , Ġgenerator : Ġ() Ġ-> ĠT ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalready Done Ġ= Ġmutable Set Of < T >() ĊĠĠĠĠĠĠĠ Ġreturn Ġ( 1 .. count ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvalue : ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġgenerator (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( already Done . contains ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalready Done . add ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ