File: 06-seed.t

package info (click to toggle)
grinder 0.5.4-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 1,180 kB
  • sloc: perl: 8,080; xml: 368; makefile: 59; python: 27
file content (56 lines) | stat: -rw-r--r-- 1,238 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#! perl

use strict;
use warnings;
use Test::More;
use lib '.';
use t::TestUtils;
use Grinder;



my ($factory, $seed1, $seed2, $seed3, @dataset1, @dataset2);


# Seed the pseudo-random number generator

ok $factory = Grinder->new(
   -reference_file => data('shotgun_database_extended.fa'),
   -random_seed    => 1233567890                          ,
   -total_reads    => 10                                  ,
), 'Set the seed';
ok $seed1 = $factory->get_random_seed();
is $seed1, 1233567890;


# Get a seed automatically

ok $factory = Grinder->new(
   -reference_file => data('shotgun_database.fa'),
   -total_reads    => 10                         ,
), 'Get a seed automatically';
ok $seed2 = $factory->get_random_seed();
cmp_ok $seed2, '>', 0;
while (my $read = $factory->next_read) {
   push @dataset1, $read;
}


# Specify the same seed

ok $factory = Grinder->new(
   -reference_file => data('shotgun_database.fa'),
   -total_reads    => 10                         ,
   -random_seed    => $seed2                     ,
), 'Specify the same seed';
ok $seed3 = $factory->get_random_seed();
is $seed3, $seed2;
while (my $read = $factory->next_read) {
   push @dataset2, $read;
}

is_deeply \@dataset1, \@dataset2;



done_testing();