Branch Coverage

lib/Parse/Taxonomy/AdjacentList.pm
Criterion Covered Total %
branch 73 108 67.5


line true false branch
178 2 41 unless ref $args and &reftype($args) eq 'HASH'
181 20 21 if $args->{'file'}
182 21 20 if $args->{'components'}
183 1 40 if $argscount == 0
185 1 39 if $argscount == 2
190 8 31 $args->{'id_col'} ? :
193 8 31 $args->{'parent_id_col'} ? :
196 6 33 $args->{'leaf_col'} ? :
198 20 19 if ($args->{'components'}) { }
200 2 18 unless ref $args->{'components'} and &reftype($args->{'components'}) eq 'HASH'
203 2 31 unless exists $args->{'components'}{$k}
206 3 28 unless ref $args->{'components'}{$k} and &reftype($args->{'components'}{$k}) eq 'ARRAY'
209 2 145 unless ref $row and &reftype($row) eq 'ARRAY'
219 1 18 unless -f $args->{'file'}
222 0 18 unless my $csv = 'Text::CSV_XS'->new($args)
225 0 18 unless open my $IN, '<', $data->{'file'}
230 0 14 unless close $IN
242 18 11 if (not $components) { }
260 6 75 unless (exists $col2idx{$data->{$c}})
268 6 21 if scalar keys %missing_columns
287 2 283 unless ($$rec[$data->{'id_col_idx'}] =~ /^\d+$/)
290 2 283 if (length $$rec[$data->{'parent_id_col_idx'}] and not $$rec[$data->{'parent_id_col_idx'}] =~ /^\d+$/)
300 6 279 if ($this_row_count != $field_count)
304 3 282 unless (length $$rec[$data->{'leaf_col_idx'}])
315 1 20 if @non_numeric_id_records
319 4 264 if $ids_seen{$id} > 1
328 2 18 if @dupe_ids
338 2 16 if @bad_count_records
348 1 15 if @nameless_component_records
353 4 203 if (length $parent_id and not $ids_seen{$parent_id})
366 2 13 if scalar keys %ids_missing_parents
370 136 45 if (length $$rec[$data->{'parent_id_col_idx'}])
383 5 126 if ($families{$k}{$l} > 1)
389 3 10 if $same_names
685 0 2 if (defined $args)
686 0 0 unless (ref $args and &reftype($args) eq 'HASH')
692 0 0 unless $permissible_args{$k}
694 0 0 if ($args->{'path_col_sep'} and not $args->{'as_string'})
698 0 2 defined $args->{'path_col'} ? :
699 0 2 if ($args->{'as_string'})
700 0 0 defined $args->{'path_col_sep'} ? :
707 4 4 unless ($f eq $self->id_col or $f eq $self->parent_id_col or $f eq $self->leaf_col)
730 88 44 if (length $parent_id) { }
742 0 44 if ($args->{'as_string'}) { }
837 0 0 if (defined $args) { }
838 0 0 unless ref $args and &reftype($args) eq 'HASH'
841 0 0 unless exists $args->{'pathified'}
844 0 0 unless ref $args->{'pathified'} and &reftype($args->{'pathified'}) eq 'ARRAY'
854 0 0 !ref($pathified->[1][0]) ? :
872 0 0 defined $args->{'csvfile'} ? :
884 0 0 unless open my $OUT, '>:encoding(utf8)', $csvfile
886 0 0 defined $csv_args->{'eol'} ? :
895 0 0 $path_as_string ? :
899 0 0 unless close $OUT