Condition Coverage

blib/lib/Algorithm/Classifier/NaiveBayes.pm
Criterion Covered Total %
condition 93 107 86.9


and 3 conditions

line !l l&&!r l&&r condition
172 75 2 1 defined $args{'lc_tokens'} and ref $args{'lc_tokens'} ne ""
179 8 2 1 $ref ne "" and $ref ne "Regexp"
193 65 7 1 $smoothing ne "laplace" and $smoothing ne "lidstone"
215 61 4 1 $token_weighting ne "count" and $token_weighting ne "binary"
220 61 3 1 $priors ne "trained" and $priors ne "uniform"
308 0 92 4 defined $self->{'model'}{'ngrams'} and $self->{'model'}{'ngrams'} > 1
365 0 43 6 defined $self->{'model'}{'priors'} and $self->{'model'}{'priors'} eq "uniform"
378 0 78 7 defined $self->{'model'}{'token_weighting'} and $self->{'model'}{'token_weighting'} eq "binary"
808 4 10 2 $smoothing ne "laplace" and $smoothing ne "lidstone"
821 6 1 4 defined $args{'priors'} and $args{'priors'} ne "trained"
7 3 1 defined $args{'priors'} and $args{'priors'} ne "trained" and $args{'priors'} ne "uniform"
906 0 1 40 defined $model->{'version'} and $model->{'version'} =~ /^\d+$/
920 0 1 37 defined $model->{'total_docs'} and $model->{'total_docs'} =~ /\A\d+\z/
927 34 36 1 defined $model->{$regex_item} and not defined eval { do { qr/$model->{$regex_item}/ } }
936 25 9 1 $model->{'smoothing'} ne "laplace" and $model->{'smoothing'} ne "lidstone"
945 7 24 1 $model->{'smoothing'} eq "laplace" and $model->{'alpha'} != 1
959 27 1 1 $model->{'token_weighting'} ne "count" and $model->{'token_weighting'} ne "binary"
966 22 5 1 $model->{'priors'} ne "trained" and $model->{'priors'} ne "uniform"

or 2 conditions

line l !l condition
609 39 2 $self->{'model'}{'class_totals'}{$class} || 0
613 35 37 $self->{'model'}{'token_counts'}{$class}{$token} || 0
715 8 0 $self->{'model'}{'class_totals'}{$class} || 0
720 8 10 $self->{'model'}{'token_counts'}{$class}{$token} || 0

or 3 conditions

line l !l&&r !l&&!r condition
201 0 1 5 ref $args{'alpha'} ne "" or not $args{'alpha'} =~ /\A\d*\.?\d+\z/
1 1 4 ref $args{'alpha'} ne "" or not $args{'alpha'} =~ /\A\d*\.?\d+\z/ or $args{'alpha'} <= 0
210 0 2 67 ref $ngrams ne "" or not $ngrams =~ /\A\d+\z/
2 1 66 ref $ngrams ne "" or not $ngrams =~ /\A\d+\z/ or $ngrams < 1
419 2 0 8 not defined $self->{'model'}{'class_counts'}{$class} or $self->{'model'}{'class_counts'}{$class} < 1
483 0 1 5 ref $min_count ne "" or not $min_count =~ /\A\d+\z/
1 1 4 ref $min_count ne "" or not $min_count =~ /\A\d+\z/ or $min_count < 1
816 0 1 5 ref $args{'alpha'} ne "" or not $args{'alpha'} =~ /\A\d*\.?\d+\z/
1 1 4 ref $args{'alpha'} ne "" or not $args{'alpha'} =~ /\A\d*\.?\d+\z/ or $args{'alpha'} <= 0
903 1 1 41 not defined $model->{'format'} or $model->{'format'} ne __PACKAGE__
923 1 0 36 not defined $model->{'token_splitter'} or $model->{'token_splitter'} eq ""
942 0 1 33 ref $model->{'alpha'} ne "" or not $model->{'alpha'} =~ /\A\d*\.?\d+\z/
1 1 32 ref $model->{'alpha'} ne "" or not $model->{'alpha'} =~ /\A\d*\.?\d+\z/ or $model->{'alpha'} <= 0
952 0 1 30 ref $model->{'ngrams'} ne "" or not $model->{'ngrams'} =~ /\A\d+\z/
1 1 29 ref $model->{'ngrams'} ne "" or not $model->{'ngrams'} =~ /\A\d+\z/ or $model->{'ngrams'} < 1