File Coverage

blib/lib/KiokuDB/Test/Fixture/RootSet.pm
Criterion Covered Total %
statement 64 64 100.0
branch n/a
condition n/a
subroutine 15 15 100.0
pod 0 3 0.0
total 79 82 96.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2              
3             package KiokuDB::Test::Fixture::RootSet;
4 2     2   1512 use Moose;
  2         5  
  2         13  
5              
6 2     2   9696 use Test::More;
  2         3  
  2         16  
7 2     2   518 use Test::Exception;
  2         3  
  2         15  
8              
9 2     2   389 use KiokuDB::Test::Person;
  2         7  
  2         42  
10 2     2   10 use KiokuDB::Test::Company;
  2         2  
  2         43  
11              
12 2     2   8 use namespace::clean -except => 'meta';
  2         4  
  2         18  
13              
14             with qw(KiokuDB::Test::Fixture) => { excludes => 'sort' };
15              
16 12     12 0 27 sub sort { -50 }
17              
18             sub create {
19             return (
20 33     33 0 1035 root_person => KiokuDB::Test::Person->new(
21             name => "blah",
22             kids => [ KiokuDB::Test::Person->new( name => "flarp" ) ],
23             ),
24             );
25             }
26              
27             sub verify {
28 33     33 0 103 my $self = shift;
29              
30             $self->txn_lives(sub {
31 33     33   215 my $p = $self->lookup_ok("root_person");
32              
33 33         168 isa_ok( $p, "KiokuDB::Test::Person" );
34              
35 33         12425 $self->root_ok($p);
36 33         11946 $self->not_root_ok($p->kids->[0]);
37 33         281 });
38              
39 33         12190 $self->no_live_objects;
40              
41             $self->txn_lives(sub {
42 33     33   148 my $p = $self->lookup_ok("root_person");
43              
44 33         145 $self->root_ok($p);
45 33         11598 $self->not_root_ok($p->kids->[0]);
46              
47 33         11467 $p->name("pubar");
48              
49 33         156 $self->update_ok($p);
50              
51 33         219 $self->root_ok($p);
52 33         11724 $self->not_root_ok($p->kids->[0]);
53 33         303 });
54              
55 33         12590 $self->no_live_objects;
56              
57             $self->txn_lives(sub {
58 33     33   169 my $p = $self->lookup_ok("root_person");
59              
60 33         143 $self->root_ok($p);
61 33         11333 $self->not_root_ok($p->kids->[0]);
62              
63 33         10543 $self->unset_root($p);
64              
65 33         936 $self->not_root_ok($p, $p->kids->[0]);
66              
67 33         12344 $self->update_ok($p);
68              
69 33         1322 $self->not_root_ok($p, $p->kids->[0]);
70 33         254 });
71              
72 33         12281 $self->no_live_objects;
73              
74             $self->txn_lives(sub {
75 33     33   160 my $p = $self->lookup_ok("root_person");
76              
77 33         1238 $self->not_root_ok($p, $p->kids->[0]);
78              
79 33         9938 $self->set_root($p);
80              
81 33         534 $self->root_ok($p);
82 33         13223 $self->not_root_ok($p->kids->[0]);
83 33         283 });
84              
85 33         11821 $self->no_live_objects;
86              
87             $self->txn_lives(sub {
88 33     33   195 my $p = $self->lookup_ok("root_person");
89              
90 33         1260 $self->not_root_ok($p, $p->kids->[0]);
91              
92 33         10045 $self->set_root($p);
93              
94 33         508 $self->root_ok($p);
95 33         12263 $self->not_root_ok($p->kids->[0]);
96              
97 33         10581 $self->update_ok($p);
98 33         278 });
99              
100 33         12012 $self->no_live_objects;
101              
102             $self->txn_lives(sub {
103 33     33   168 my $p = $self->lookup_ok("root_person");
104              
105 33         202 $self->root_ok($p);
106 33         11137 $self->not_root_ok($p->kids->[0]);
107 33         276 });
108             }
109              
110             __PACKAGE__->meta->make_immutable;
111              
112             __PACKAGE__
113              
114             __END__