package Ġcom . github . j corn az . kw ik . generator . stdlib Ċ Ċ import Ġcom . github . j corn az . kw ik . generator . api . Generator Ċ import Ġcom . github . j corn az . kw ik . generator . api . random Sequence Ċ import Ġcom . github . j corn az . kw ik . generator . test . Abstract Generator Test Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠFin ite Value Set Generator Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < Int > Ġ= ĠGenerator . of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfails If No Given Sample () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĠGenerator . of < Int >() Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Only Given Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . random Sequence (- 7 8 ). take ( 2 0 0 ). all Ġ{ Ġit Ġin Ġ 0 .. 4 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate All Given Sample sWith Same Probability () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcounts Ġ= ĠInt Array ( 5 ) ĊĊĠĠĠĠĠĠĠ Ġgenerator . random Sequence (- 3 7 ). take ( 1 0 _ 0 0 0 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounts [ it ] ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( counts . all Ġ{ Ġit Ġin Ġ 1 8 0 0 .. 2 2 0 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprovide No Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . samples . isEmpty ()) ĊĠĠĠ Ġ} Ċ } Ċ