Branch Coverage

blib/lib/RDF/Query/Plan/Aggregate.pm
Criterion Covered Total %
branch 89 134 66.4


line true false branch
49 0 16 unless $args{'expressions'}
55 0 0 $_->isa('RDF::Query::Node') ? :
7 0 $_->isa('RDF::Query::Node::Variable') ? :
73 0 16 if ($self->state == $self->OPEN)
80 16 0 if ($plan->state == $self->OPEN) { }
96 0 27 if ($g->isa('RDF::Query::Expression::Alias'))
103 27 0 &blessed($_) ? :
27 0 &blessed($_) ? :
114 0 16 if (scalar @groups == 0)
129 18 0 if ($g->isa('RDF::Query::Expression::Alias') or $g->isa('RDF::Query::Node::Variable')) { }
0 0 elsif ($g->isa('RDF::Query::Expression')) { }
154 88 0 &blessed($col) ? :
155 4 84 if ($distinct)
156 2 2 if $agg_group_seen{join '<<<', @proj_rows}++
161 14 72 if ($op eq 'COUNT') { }
8 64 elsif ($op eq 'SUM') { }
25 39 elsif ($op eq 'MAX') { }
25 14 elsif ($op eq 'MIN') { }
5 9 elsif ($op eq 'SAMPLE') { }
4 5 elsif ($op eq 'AVG') { }
5 0 elsif ($op eq 'GROUP_CONCAT') { }
164 0 14 if (not &blessed($col) and $col eq '*') { }
168 12 2 defined $value ? :
180 0 8 unless ($value->isa('RDF::Query::Node::Literal') and $value->is_numeric_type)
186 4 4 if (scalar @{$aggregate_data->{$alias}{$group};} > 1) { }
187 0 4 if ($type ne $aggregate_data->{$alias}{$group}[2] and not $value->isa('RDF::Query::Node::Literal') && $value->is_numeric_type && &blessed($aggregate_data->{$alias}{$group}[1]) && $aggregate_data->{$alias}{$group}[1]->isa('RDF::Query::Node::Literal') && $aggregate_data->{$alias}{$group}[1]->is_numeric_type)
188 0 0 if ($context->strict_errors) { }
210 14 11 if (scalar @{$aggregate_data->{$alias}{$group};} > 1) { }
211 2 12 if ($type ne $aggregate_data->{$alias}{$group}[2] and not $value->isa('RDF::Query::Node::Literal') && $value->is_numeric_type && &blessed($aggregate_data->{$alias}{$group}[1]) && $aggregate_data->{$alias}{$group}[1]->isa('RDF::Query::Node::Literal') && $aggregate_data->{$alias}{$group}[1]->is_numeric_type)
212 0 2 if ($context->strict_errors) { }
220 12 2 if ($strict) { }
221 1 11 if ($value > $aggregate_data->{$alias}{$group}[1])
226 1 1 if ("$value" gt "$aggregate_data->{$alias}{$group}[1]")
242 19 6 if (scalar @{$aggregate_data->{$alias}{$group};} > 1) { }
243 3 16 if ($type ne $aggregate_data->{$alias}{$group}[2] and not $value->isa('RDF::Query::Node::Literal') && $value->is_numeric_type && &blessed($aggregate_data->{$alias}{$group}[1]) && $aggregate_data->{$alias}{$group}[1]->isa('RDF::Query::Node::Literal') && $aggregate_data->{$alias}{$group}[1]->is_numeric_type)
244 0 3 if ($context->strict_errors) { }
252 16 3 if ($strict) { }
253 6 10 if ($value < $aggregate_data->{$alias}{$group}[1])
258 0 3 if ("$value" lt "$aggregate_data->{$alias}{$group}[1]")
274 4 1 if (scalar @{$aggregate_data->{$alias}{$group};} > 1) { }
275 2 2 if ("$value" lt "$aggregate_data->{$alias}{$group}[1]")
290 0 4 unless (&blessed($value) and $value->isa('RDF::Query::Node::Literal') and $value->is_numeric_type)
295 4 0 if (&blessed($value) and $value->isa('RDF::Query::Node::Literal') and $value->is_numeric_type)
298 3 1 if ($aggregate_data->{$alias}{$group}[3]) { }
313 5 0 &blessed($val) ? :
331 29 0 if (defined $aggregates{$agg}{$group})
333 1 28 if ($op eq 'AVG') { }
1 27 elsif ($op eq 'GROUP_CONCAT') { }
5 22 elsif ($op =~ /COUNT/) { }
336 0 1 if ($type eq 'http://www.w3.org/2001/XMLSchema#integer')
339 0 1 &blessed($value) && $value->isa('RDF::Trine::Node') ? :
341 0 1 exists $options{$agg}{'seperator'} ? :
345 0 5 &blessed($value) && $value->isa('RDF::Trine::Node') ? :
347 22 0 if (defined $aggregates{$agg}{$group})
349 18 4 &blessed($value) && $value->isa('RDF::Trine::Node') ? :
374 0 43 unless ($self->state == $self->OPEN)
378 0 43 if (my $d = $self->delegate)
390 0 16 unless ($self->state == $self->OPEN)
394 16 0 if (defined $self->[1])
419 0 45 unless $self->[2]
459 17 0 ref $_ ? :
461 0 17 if (@opts_keys) { }
529 67 0 if (&blessed($node)) { }
530 67 0 if ($node->isa('RDF::Query::Node::Literal')) { }
0 0 elsif ($node->isa('RDF::Query::Node::Resource')) { }
0 0 elsif ($node->isa('RDF::Query::Node::Blank')) { }
531 34 33 if (my $type = $node->literal_datatype) { }