|
BEGIN { plan tests => 1 };
tests( Crypt::Random::Generator->new( ( Strength => 1, Uniform => 1) ));
sub tests {
my $gen = shift ;
my $x ;
my $count = 1000;
my $n = 16;
my @q = (0, 0, 0, 0);
my $q_size = (2* *$n )/4;
for (0 .. $count ) {
my $x = $gen ->integer ( Size => $n );
if ( $x <= $q_size ) {
$q [0]++
} elsif ( $x <= $q_size *2) {
$q [1]++
} elsif ( $x <= $q_size *3) {
$q [2]++
} else {
$q [3]++;
}
}
print STDERR "\nQuartile distribution of $count $n-bit random numbers was @q\n" ;
my $chi = chisquare( @q );
print STDERR "$chi\n" ;
ok( $chi =~ m/\>[1-9]/);
}
|