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 . assertTrue Ċ Ċ class ĠString Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < String > Ġ= ĠGenerator . strings () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Strings Of Given Length Range () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . strings ( min Length Ġ= Ġ 3 , ĠmaxLength Ġ= Ġ 1 2 ). random Sequence ( 0 ). take ( 2 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . all Ġ{ Ġit . length Ġin Ġ 3 .. 1 2 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Contains Empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . strings (). samples . any Ġ{ Ġit . isEmpty () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Contains Blank () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . strings (). samples . any Ġ{ Ġit . isNotEmpty () Ġ&& Ġit . isBlank () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġno Empty Sample When Min Length Is GreaterThan 0 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . strings ( min Length Ġ= Ġ 1 ). samples . none Ġ{ Ġit . isEmpty () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsample Size Is Big ger Than Min Length () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . strings ( min Length Ġ= Ġ 2 ). samples . none Ġ{ Ġit . length Ġ<= Ġ 1 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdont Generate Excluded Chars () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . strings ( exclude Ġ= Ġset Of (' a ', Ġ' b ', Ġ' c ')). random Sequence ( 0 ). take ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . none Ġ{ Ġstring Ġ-> Ġstring . any Ġ{ Ġit Ġ== Ġ' a ' Ġ|| Ġit Ġ== Ġ' b ' Ġ|| Ġit Ġ== Ġ' c ' Ġ} Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġbig Min Length Is Possible () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Ġ= ĠGenerator . strings ( min Length Ġ= Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 , Ġgenerator . random Sequence ( 1 ). first (). length ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Of Many Length () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlengths Ġ= Ġmutable Set Of < Int >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . strings ( maxLength Ġ= Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. random Sequence ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlengths Ġ+= Ġit . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( lengths . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Different Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġmutable Set Of < String >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . strings (). random Sequence ( 0 ). take ( 2 0 0 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ+= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNon EmptyString Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < String > Ġ= ĠGenerator . non Empty Strings () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Strings Of Given Length Range () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . non Empty Strings ( maxLength Ġ= Ġ 1 2 ). random Sequence ( 0 ). take ( 2 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . all Ġ{ Ġit . length Ġin Ġ 1 .. 1 2 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdoes Not Generate Empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Empty Strings (). random Sequence ( 0 ). take ( 1 0 0 0 ). none Ġ{ Ġit . isEmpty () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples DoesNot Contains Empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Empty Strings (). samples . none Ġ{ Ġit . isEmpty () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples Contains Blank () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Empty Strings (). samples . any Ġ{ Ġit . isNotEmpty () Ġ&& Ġit . isBlank () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdont Generate Excluded Chars () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . non Empty Strings ( exclude Ġ= Ġset Of (' a ', Ġ' b ', Ġ' c ')). random Sequence ( 0 ). take ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . none Ġ{ Ġstring Ġ-> Ġstring . any Ġ{ Ġit Ġ== Ġ' a ' Ġ|| Ġit Ġ== Ġ' b ' Ġ|| Ġit Ġ== Ġ' c ' Ġ} Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Of Many Length () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlengths Ġ= Ġmutable Set Of < Int >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . non Empty Strings ( maxLength Ġ= Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. random Sequence ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlengths Ġ+= Ġit . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( lengths . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Different Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġmutable Set Of < String >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . non Empty Strings (). random Sequence ( 0 ). take ( 2 0 0 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ+= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNon Blank String Generator Test Ġ: ĠAbstract Generator Test () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġgenerator : ĠGenerator < String > Ġ= ĠGenerator . non Blank Strings () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Strings Of Given Length Range () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . non Blank Strings ( maxLength Ġ= Ġ 1 2 ). random Sequence ( 0 ). take ( 2 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . all Ġ{ Ġit . length Ġin Ġ 1 .. 1 2 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdoes Not Generate Blank () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Blank Strings (). random Sequence ( 0 ). take ( 1 0 0 0 ). none Ġ{ Ġit . isBlank () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsamples DoesNot Contain Blank () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( Generator . non Blank Strings (). samples . none Ġ{ Ġit . isBlank () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdont Generate Excluded Chars () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠGenerator . non Blank Strings ( exclude Ġ= Ġset Of (' a ', Ġ' b ', Ġ' c ')). random Sequence ( 0 ). take ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . none Ġ{ Ġstring Ġ-> Ġstring . any Ġ{ Ġit Ġ== Ġ' a ' Ġ|| Ġit Ġ== Ġ' b ' Ġ|| Ġit Ġ== Ġ' c ' Ġ} Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Of Many Length () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlengths Ġ= Ġmutable Set Of < Int >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . non Blank Strings ( maxLength Ġ= Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. random Sequence ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlengths Ġ+= Ġit . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( lengths . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Different Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġmutable Set Of < String >() ĊĊĠĠĠĠĠĠĠ ĠGenerator . non Blank Strings (). random Sequence ( 0 ). take ( 2 0 0 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ+= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( values . size Ġ> Ġ 1 0 0 ) ĊĠĠĠ Ġ} Ċ } Ċ