/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . ĠJetBrains Ġs . r . o . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġjet brains . datal ore . plot . builder . sampling . method Ċ Ċ import Ġjet brains . datal ore . plot . builder . data . generate Data Ċ import Ġkotlin . test .* Ċ Ċ class ĠRandom Sampling Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmy Data Ġ= Ġgenerate Data ( ĊĠĠĠĠĠĠĠ ĠN , ĊĠĠĠĠĠĠĠ ĠlistOf (" x ", Ġ" y ", Ġ" c ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnoop () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Random Sampling ( N Ġ- Ġ 1 , Ġnull ). is Applicable ( my Data )) ĊĊĠĠĠĠĠĠĠ Ġval Ġfailed Sampling Ġ= ĠRandom Sampling ( N , Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( failed Sampling . is Applicable ( my Data )) ĊĊĠĠĠĠĠĠĠ Ġassert Fails With ( RuntimeException :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Sampling . apply ( my Data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsmall Sample () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert RowCount ( N _ SMALL _ SAMPLE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġlarge Sample () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert RowCount ( N _ LARGE _ SAMPLE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġassert RowCount ( sample Size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsample Data Ġ= ĠRandom Sampling ( sample Size , Ġnull ). apply ( my Data ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( sample Size , Ġsample Data . rowCount (), Ġ" Row Ġcount ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠN Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠN _ SMALL _ SAMPLE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠN _ LARGE _ SAMPLE Ġ= Ġ 9 ĊĠĠĠ Ġ} Ċ }