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 . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠDouble Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < Double > Ġ= ĠGenerator . double s () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfail For Invalid Range () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . double s ( 3 . 0 , Ġ- 2 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Inside Given Range () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . double s (- 8 . 0 , Ġ 1 4 . 0 ). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ>= Ġ- 8 Ġ&& Ġit Ġ<= Ġ 1 4 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprovides Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 . 0 , Ġ- 1 . 0 , Ġ 1 . 0 , Ġ- Double . MAX _ VALUE , ĠDouble . MAX _ VALUE ), ĠGenerator . double s (). samples ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Are InRange () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 1 . 0 , ĠDouble . MAX _ VALUE ), ĠGenerator . double s ( min Ġ= Ġ 1 . 0 ). samples ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġwith NaN Includes NaN In Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . double s (). with NaN (). samples . any Ġ{ Ġit . isNaN () Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPositive Double Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < *> Ġ= ĠGenerator . positive Doubles () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfail For Invalid Max () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . positive Doubles ( max Ġ= Ġ- 0 . 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Positive Inte gers () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . positive Doubles (). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ>= Ġ 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Small er Than Max () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . positive Doubles ( max Ġ= Ġ 4 2 . 0 ). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ>= Ġ 0 . 0 Ġ&& Ġit Ġ<= Ġ 4 2 . 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprovide Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 . 0 , Ġ 1 . 0 , ĠDouble . MAX _ VALUE ), ĠGenerator . positive Doubles (). samples ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Are InRange () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 . 0 , Ġ 1 . 0 , Ġ 4 2 . 0 ), ĠGenerator . positive Doubles ( max Ġ= Ġ 4 2 . 0 ). samples ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNegative Double Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < *> Ġ= ĠGenerator . negative Doubles () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfail For Invalid Min () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . negative Doubles ( min Ġ= Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Negative Inte gers () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . negative Doubles (). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ< Ġ 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Big ger Than Min () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . negative Doubles ( min Ġ= Ġ- 4 2 . 0 ). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ< Ġ 0 . 0 Ġ&& Ġit Ġ>= Ġ- 4 2 . 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprovide Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of (- Double . MIN _ VALUE , Ġ- Double . MAX _ VALUE , Ġ- 1 . 0 ), ĠGenerator . negative Doubles (). samples ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Are InRange () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of (- Double . MIN _ VALUE , Ġ- 4 2 . 0 , Ġ- 1 . 0 ), ĠGenerator . negative Doubles ( min Ġ= Ġ- 4 2 . 0 ). samples ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNon Zero Double Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < *> Ġ= ĠGenerator . non Zero Doubles () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfail For Invalid Min () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . non Zero Doubles ( min Ġ= Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfail For Invalid Max () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . non Zero Doubles ( min Ġ= Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce Non Zero Long s () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Zero Doubles (). random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ!= Ġ 0 . 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġproduce InRange () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgen Ġ= ĠGenerator . non Zero Doubles ( min Ġ= Ġ- 4 2 . 0 , Ġmax Ġ= Ġ 1 0 0 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( gen . random Sequence ( 0 ). take ( 1 0 0 0 ). all Ġ{ Ġit Ġ>= Ġ- 4 2 Ġ&& Ġit Ġ<= Ġ 1 0 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġprovide Samples () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of (- Double . MIN _ VALUE , Ġ- 1 . 0 , Ġ- Double . MAX _ VALUE , ĠDouble . MIN _ VALUE , Ġ 1 . 0 , ĠDouble . MAX _ VALUE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . non Zero Doubles (). samples ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Are InRange () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of (- 4 2 . 0 , Ġ- 1 . 0 , Ġ- Double . MIN _ VALUE , ĠDouble . MIN _ VALUE , Ġ 1 . 0 , Ġ 4 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerator . non Zero Doubles ( min Ġ= Ġ- 4 2 . 0 , Ġmax Ġ= Ġ 4 2 . 0 ). samples ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ