File Coverage

blib/lib/Data/Range/Compare/Stream/Iterator/Base.pm
Criterion Covered Total %
statement 37 45 82.2
branch 8 8 100.0
condition n/a
subroutine 16 24 66.6
pod 12 20 60.0
total 73 97 75.2


line stmt bran cond sub pod time code
1             package Data::Range::Compare::Stream::Iterator::Base;
2              
3 16     16   41318 use strict;
  16         36  
  16         563  
4 16     16   97 use warnings;
  16         29  
  16         657  
5 16     16   28884 use overload '""'=>\&to_string,fallback=>1;
  16         4043  
  16         170  
6              
7 16     16   1611 use constant NEW_FROM_CLASS=>'Data::Range::Compare::Stream';
  16         32  
  16         11574  
8              
9 196     196 0 597 sub NEW_FROM { $_[0]->{NEW_FROM} }
10              
11             sub new {
12 590     590 0 2587 my ($class,%args)=@_;
13 590         5571 my $self=bless {NEW_FROM=>$class->NEW_FROM_CLASS,%args},$class;
14              
15 590 100       8144 unless(exists $self->{factory_instance}) {
16 360 100       1483 $self->{factory_instance}= exists $self->{new_from} ? $self->{new_from} : $self->NEW_FROM;
17             }
18              
19 590         2523 return $self;
20             }
21              
22             sub create_from_factory {
23 62382     62382 0 152217 my ($self,@args)=@_;
24            
25 62382         237187 my $range=$self->{factory_instance}->factory(@args);
26              
27 62382         353493 return $range;
28             }
29              
30 33     33 1 69 sub on_consolidate { }
31              
32 123147     123147 0 534603 sub has_next { $_[0]->{has_next} }
33              
34 0     0 1 0 sub get_next { undef }
35              
36 22     22 1 2851 sub to_string { ref($_[0]) }
37              
38 2     2 1 15 sub delete_from_root { }
39              
40 0     0 1 0 sub get_child_column_id { undef }
41              
42 0     0 1 0 sub get_child { undef }
43              
44 235     235 1 744 sub set_column_id { $_[0]->{column_id}=$_[1] }
45              
46 114     114 1 624 sub get_column_id { $_[0]->{column_id} }
47              
48 0     0 1 0 sub get_root_column_id {$_[0]->get_column_id }
49              
50 0     0 1 0 sub get_root { $_[0] }
51              
52 82     82 0 232 sub is_child { 0 }
53 0     0 0 0 sub has_child { 0 }
54 0     0 0 0 sub is_root { 1 }
55 0     0 0 0 sub has_root {0}
56              
57             sub result_to_line {
58 53263     53263 1 69614 my ($self,$result)=@_;
59 53263 100       149517 return $self->{result_to_line}->($result) if defined($self->{result_to_line});
60              
61 53254         143645 my $range=$result->get_common;
62 53254         151595 my $line=$range->range_start_to_string.' '.$range->range_end_to_string."\n";
63 53254         199595 return $line;
64             }
65              
66             sub parse_line {
67 61516     61516 1 96526 my ($self,$line)=@_;
68 61516 100       162066 return $self->{parse_line}->($line) if defined($self->{parse_line});
69 61507         81823 chomp $line;
70 61507         311065 [split /\s+/,$line];
71             }
72              
73              
74             1;
75