package Ġcom . ba eld ung . random string Ċ Ċ import Ġorg . apache . commons . lang 3 . Random StringUtils Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . security . Secure Random Ċ import Ġjava . util . concurrent . Thread Local Random Ċ import Ġkotlin . experimental . and Ċ import Ġkotlin . streams . as Sequence Ċ import Ġkotlin . test . assertEquals Ċ Ċ const Ġval ĠSTRING _ LENGTH Ġ= Ġ 1 0 Ċ const Ġval ĠAL PH AN UM ERIC _ REGEX Ġ= Ġ"[ a - zA - Z 0 - 9 ] +" Ċ Ċ class ĠRandom String UnitTest Ġ{ ĊĠĠĠ Ġprivate Ġval Ġchar Pool Ġ: ĠList < Char > Ġ= Ġ(' a ' .. ' z ') Ġ+ Ġ(' A ' .. ' Z ') Ġ+ Ġ(' 0 ' .. ' 9 ') ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven A String Length _ when Using Java _ thenReturn Al phanumeric String () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrandom String Ġ= ĠThread Local Random . current () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ints ( STRING _ LENGTH . to Long (), Ġ 0 , Ġchar Pool . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( char Pool :: get ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ("") ĊĊĠĠĠĠĠĠĠ Ġassert ( random String . matches ( Regex ( ALPH AN UM ERIC _ REGEX ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( STRING _ LENGTH , Ġrandom String . length ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven A String Length _ when Using Kotlin _ thenReturn Al phanumeric String () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrandom String Ġ= Ġ( 1 .. STRING _ LENGTH ). map Ġ{ Ġi Ġ-> Ġkotlin . random . Random . nextInt ( 0 , Ġchar Pool . size ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( char Pool :: get ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ("") ĊĊĠĠĠĠĠĠĠ Ġassert ( random String . matches ( Regex ( ALPH AN UM ERIC _ REGEX ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( STRING _ LENGTH , Ġrandom String . length ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven A String Length _ when Using Apache Common _ thenReturn Al phanumeric String () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrandom String Ġ= ĠRandom StringUtils . random Al phanumeric ( STRING _ LENGTH ) ĊĊĠĠĠĠĠĠĠ Ġassert ( random String . matches ( Regex ( ALPH AN UM ERIC _ REGEX ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( STRING _ LENGTH , Ġrandom String . length ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven A String Length _ when Using Random For Bytes _ thenReturn Al phanumeric String () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom Ġ= ĠSecure Random () ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠByteArray ( STRING _ LENGTH ) ĊĠĠĠĠĠĠĠ Ġrandom . next Bytes ( bytes ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġrandom String Ġ= Ġ( 0 .. bytes . size Ġ- Ġ 1 ). map Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchar Pool [ random . nextInt ( char Pool . size )] ĊĠĠĠĠĠĠĠ Ġ}. join ToString ("") ĊĊĠĠĠĠĠĠĠ Ġassert ( random String . matches ( Regex ( ALPH AN UM ERIC _ REGEX ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( STRING _ LENGTH , Ġrandom String . length ) ĊĠĠĠ Ġ} Ċ Ċ }