Math-RNG-Microsoft

 view release on metacpan or  search on metacpan

t/ms-rand.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use Test::More tests => 22;

use Test::Differences qw/ eq_or_diff /;

use Math::RNG::Microsoft        ();
use Math::RNG::Microsoft::FCPro ();

# TEST:FILTER(MULT(2))
foreach my $class ( 'Math::RNG::Microsoft', 'Math::RNG::Microsoft::FCPro', )
{
    {
        my $r = $class->new( seed => 1 );

        # TEST
        is( $r->rand(), 41, "First result for seed 1 is 41." );

        # TEST
        is( $r->rand(), 18_467, "2nd result for seed 1 is 18,467." );

        # TEST
        is( $r->rand(), 6_334, "3rd result for seed 1 is 6,334." );
    }

    {
        my $r = $class->new( seed => 24 );

        my @orig = ( 0 .. 9 );

        my $ret = scalar( $r->shuffle( scalar( \@orig ) ) );

        # TEST
        eq_or_diff(
            \@orig,
            [ 1, 7, 9, 8, 4, 5, 3, 2, 0, 6 ],
            'Array was shuffled.',
        );

        # TEST
        is( $ret, scalar( \@orig ), 'shuffle returns the same array.' );
    }

}

# TEST:ENDFILTER()

# TEST:FILTER(MULT(2))
foreach my $class ( 'Math::RNG::Microsoft', 'Math::RNG::Microsoft::FCPro', )
{
    {
        my $r = $class->new( seed => 1 );

        # TEST
        is( $r->rand(), 41, "First result for seed 1 is 41." );

        # TEST
        is( $r->rand(), 18_467, "2nd result for seed 1 is 18,467." );

        # TEST
        is( $r->rand(), 6_334, "3rd result for seed 1 is 6,334." );
    }

    {
        my $r = $class->new( seed => 24 );



( run in 0.762 second using v1.01-cache-2.11-cpan-39bf76dae61 )