b3b88ecc0ed00bee763733eb01c1001dd22bbbe2
[scpubgit/Object-Remote.git] / t / lib / ORTestTiedRemote.pm
1 package ORTestTiedRemote;
2
3 use Moo; 
4
5 use Tie::Array;
6 use Tie::Hash; 
7
8 has hash => ( is => 'ro',  builder => 1 );
9 has array => ( is => 'ro', builder => 1 );
10
11 sub _build_hash {
12   tie(my %hash, 'Tie::StdHash');
13   %hash = ( akey => 'a value');
14   return \%hash;
15
16
17 sub _build_array {
18   tie(my @array, 'Tie::StdArray');
19   @array = ('another value');
20   return \@array;
21 }
22
23 sub sum_array {
24   my ($self) = @_;
25   my $sum = 0;
26     
27   foreach(@{$self->array}) {
28     $sum += $_;
29   }  
30     
31   return $sum; 
32 }
33
34 sub sum_hash {
35   my ($self) = @_; 
36   my $sum = 0;
37     
38   foreach(values(%{$self->hash})) {
39     $sum += $_;
40   }
41     
42   return $sum; 
43 }
44
45 1;
46