@ -319,6 +319,8 @@ public class TestUtils {
Math Utils
Math Utils
* /
* /
private static Random rand = new Random ( ) ;
public static int clip ( int val , int min , int max ) {
public static int clip ( int val , int min , int max ) {
return Math . max ( min , Math . min ( max , val ) ) ;
return Math . max ( min , Math . min ( max , val ) ) ;
}
}
@ -331,24 +333,20 @@ public class TestUtils {
Random data generators
Random data generators
* /
* /
public static int randomInt ( int min , int max ) {
public static int randomInt ( RangeInt range ) {
int ret = 0 ;
int ret = 0 ;
int range = max - min ;
ret = rand . nextInt ( range . getSize ( ) ) + range . effectiveMin ( ) ;
if ( range < = 0 ) {
range = 1 ;
}
Random rand = new Random ( ) ;
ret = rand . nextInt ( range ) + min ;
return ret ;
return ret ;
}
}
public static String randomASCIIString ( CharClass charClass , int len ) {
public static String randomASCIIString ( CharClass charClass , int len ) {
byte [ ] array = new byte [ len ] ; // length is bounded by 7
byte [ ] array = new byte [ len ] ; // length is bounded by 7
int rangeMin = 0 ;
int rangeMin = 0 ;
int rangeMax = 0 ;
int rangeMax = 0 ;
switch ( charClass ) {
switch ( charClass ) {
case Unbounded : {
case All : {
rangeMin = 0 ;
rangeMin = 0 ;
rangeMax = 255 ;
rangeMax = 255 ;
break ;
break ;
@ -371,14 +369,14 @@ public class TestUtils {
}
}
new Random ( ) . nextBytes ( array ) ;
new Random ( ) . nextBytes ( array ) ;
for ( int i = 0 ; i < array . length ; i + + ) {
for ( int i = 0 ; i < array . length ; i + + ) {
array [ i ] = ( byte ) clip ( randomInt ( rangeMin , rangeMax ) , 0 , 255 ) ;
array [ i ] = ( byte ) clip ( randomInt ( new RangeInt ( rangeMin , rangeMax ) ) , 0 , 255 ) ;
}
}
String generatedString = new String ( array , Charset . forName ( "UTF-8" ) ) ;
String generatedString = new String ( array , Charset . forName ( "UTF-8" ) ) ;
return generatedString ;
return generatedString ;
}
}
public enum CharClass {
public enum CharClass {
Unbounded ( 0 ) {
All ( 0 ) {
@Override
@Override
public String toString ( ) {
public String toString ( ) {
return "Unbounded" ;
return "Unbounded" ;