Branch Coverage

blib/lib/Math/Expr/Opp.pm
Criterion Covered Total %
branch 93 128 72.6


line true false branch
77 0 469 unless (ref $Math::Expr::Opp::OppDB and ref $Math::Expr::Opp::Pri)
98 0 222 unless defined $i
99 0 222 unless $val->isa('Math::Expr::Node')
100 0 222 if $self->InTable
117 0 88 unless defined $i
135 2678 0 if (ref $$self{'Opps'}[$i]) { }
140 965 1713 if ($i + 1 <= $#{$$self{'Opps'};})
161 0 0 if ($i + 1 <= $#{$$self{'Opps'};})
176 585 787 if ($force or not $$self{'Op'})
194 5 202 if ($$op{'simp'})
214 107 100 if ($$op{'ass'})
217 14 201 if ($$self{'Val'} eq $$self{'Opps'}[$i]{'Val'}) { }
229 107 100 if ($$op{'com'})
251 678 114 if ($op)
263 766 1377 if ($i + 1 <= $#{$$self{'Opps'};})
293 0 75 unless $self->InTable
294 0 75 unless $rule->InTable
296 27 48 if ($rule->isa('Math::Expr::Var') and $rule->BaseType eq $self->BaseType) { }
24 24 elsif ($rule->isa('Math::Expr::Opp') and $$rule{'Val'} eq $$self{'Val'}) { }
303 12 12 if ($$op{'ass'}) { }
12 0 elsif ($#{$$self{'Opps'};} eq $#{$$rule{'Opps'};}) { }
304 12 0 if ($$op{'com'}) { }
336 0 64 unless (defined $part[$j]{'Opps'}[0])
337 52 12 unless (defined $part[$j]{'Opps'}[1])
344 32 0 if ($a)
351 14 50 unless ($t)
355 20 12 if ($ok)
373 0 12 unless ($$self{'Opps'}[$i]->SubMatch($$rule{'Opps'}[$i], $mset))
401 0 37 unless $self->InTable
402 0 37 unless $rule->InTable
404 0 37 unless (defined $pos)
405 8 29 unless (defined $pre)
408 18 19 unless ($self->SubMatch($rule, $mset))
412 27 10 if ($pos ne '')
428 0 0 unless defined $a
429 0 0 unless defined $b
431 0 0 if ($a == $b)
485 588 51 if (defined $val)
500 0 0 unless defined $pos
502 0 0 if ($pos =~ s/^(\d+),?//) { }
514 0 93 unless defined $pos
515 29 64 if (ref $rest) { }
0 64 elsif (defined $rest) { }
516 0 29 unless $rest->isa('Math::Expr::Opp')
517 0 29 if $rest->InTable
523 80 13 if ($$op{'ass'} and $$op{'com'}) { }
531 104 80 if ($j != $pos) { }
29 51 elsif (ref $rest) { }
541 56 24 unless (defined $$part{'Opps'}[1])
560 25 33 if ($pos eq '') { }
566 29 4 if ($$op{'ass'} and $$op{'com'}) { }
571 29 0 unless (defined $$rest{'Opps'}[1])
591 46 7 unless (defined $$op{'noparammathml'} and eval $$op{'noparammathml'})
592 19 27 if ($$self{'Opps'}[$i]->isa('Math::Expr::Opp'))
593 19 0 if (not $$op{'ass'} or $$self{'Opps'}[$i]{'Val'} ne $$self{'Val'})
594 18 1 if (defined $$Math::Expr::Opp::Pri{$$self{'Val'}} and defined $$Math::Expr::Opp::Pri{$$self{'Opps'}[$i]{'Val'}})
596 3 15 if ($$Math::Expr::Opp::Pri{$$self{'Val'}} >= $$Math::Expr::Opp::Pri{$$self{'Opps'}[$i]{'Val'}})
607 19 8 if (defined $$op{'prmathml'}) { }
610 7 1 if ($$self{'Val'} =~ /^[^a-zA-Z0-9\(\)\,\.\:]+$/) { }
628 61 73 if ($$self{'Opps'}[$i]->isa('Math::Expr::Opp'))
629 61 0 if (not $$op{'ass'} or $$self{'Opps'}[$i]{'Val'} ne $$self{'Val'})
630 24 37 if (defined $$Math::Expr::Opp::Pri{$$self{'Val'}} and defined $$Math::Expr::Opp::Pri{$$self{'Opps'}[$i]{'Val'}})
632 7 17 if ($$Math::Expr::Opp::Pri{$$self{'Val'}} >= $$Math::Expr::Opp::Pri{$$self{'Opps'}[$i]{'Val'}})
641 49 29 if ($$self{'Val'} =~ /^[^a-zA-Z0-9\(\)\,\.\:]+$/) { }