Perl6-Pugs/ext/Math-Random-Kiss/t/rand.t
use v6-alpha;
use Test;
plan 4 + 2*10 + 2;
use Math::Random::Kiss;
=pod
Basic tests for the Math::Random::Kiss;
=cut
my $RAND = Math::Random::Kiss.new();
ok($RAND, 'new() Math::Random::Kiss');
ok($RAND ~~ Rand, 'Math::Random::Kiss does Rand');
ok($RAND.rand() >= 0, 'rand() returns numbers greater than or equal to 0');
ok($RAND.rand() < 1, 'rand() returns numbers less than 1');
for 1 .. 10 {
ok $RAND.rand(10) >= 0, "rand(10) always returns numbers greater than or equal to 0 ($_)";
ok $RAND.rand(10) < 10, "rand(10) always returns numbers less than 10 ($_)";
}
ok($RAND.srand(1), 'srand(1) parses');
sub repeat_rand ($seed) {
$RAND.srand($seed);
for 1..99 { $RAND.rand(); }
return $RAND.rand();
}
ok(repeat_rand(314159) == repeat_rand(314159),
'srand() provides repeatability for rand()' );