]> git.donarmstrong.com Git - deb_pkgs/libstatistics-r-perl.git/blob - t/05-shared.t
New upstream version 0.34
[deb_pkgs/libstatistics-r-perl.git] / t / 05-shared.t
1 #! perl
2
3 use strict;
4 use warnings;
5 use Test::More;
6 use Statistics::R;
7
8 my ($R1, $R2, $R3, $R4);
9
10 ok $R1 = Statistics::R->new( shared => 1 ), 'Starting in shared mode';
11 ok $R2 = Statistics::R->new( shared => 1 );
12 ok $R3 = Statistics::R->new( shared => 1 );
13 ok $R4 = Statistics::R->new( shared => 1 );
14
15 is $R1->is_shared, 1;
16 is $R2->is_shared, 1;
17 is $R3->is_shared, 1;
18 is $R4->is_shared, 1;
19
20 ok $R2->start;
21 ok $R4->start;
22
23 is $R1->is_started, 1;
24 is $R2->is_started, 1;
25 is $R3->is_started, 1;
26 is $R4->is_started, 1;
27
28 ok $R1 =~ m/\d+/, 'PIDs';
29 is $R1->pid, $R2->pid;
30 is $R1->pid, $R3->pid;
31 is $R1->pid, $R4->pid;
32
33 ok $R1->set( 'x', "string" ), 'Sharing data';
34
35 ok $R2->set( 'y', 3  );
36
37 is $R2->get( 'x' ), "string";
38
39 ok $R3->set( 'z', 10 );
40
41 is $R4->run( q`a <- y / z` ), '';
42
43 is $R4->get( 'a' ), 0.3;
44
45 ok $R3->stop();
46
47 is $R1->is_started, 0;
48 is $R2->is_started, 0;
49 is $R3->is_started, 0;
50 is $R4->is_started, 0;
51
52 done_testing;