Condition Coverage

blib/lib/Mic/Assembler.pm
Criterion Covered Total %
condition 35 54 64.8


and 3 conditions

line !l l&&!r l&&r condition
119 49 0 49 $type eq 'interface' and ref $spec->{$type} eq 'HASH'
190 0 0 2 ref $h1->{$k} eq 'HASH' and ref $h2->{$k} eq 'HASH'
247 0 49 15 not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'}
49 1 14 not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} and $$in_interface{$meta->{'reader'}}
262 0 63 1 not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'}
63 0 1 not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} and $$in_interface{$meta->{'property'}}
279 0 63 1 not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'}
63 0 1 not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} and $$in_interface{$meta->{'writer'}}
390 24 0 6 $type eq 'class' and $name eq $constructor_spec->{'name'}

or 2 conditions

line l !l condition
22 49 0 $arg{'-spec'} || {}
114 49 49 $type ||= 'interface'
164 2 49 $from_interface ||= {}
341 0 5 $spec->{'invariant_guard'} ||= sub { return if (caller 1)[0] eq $spec->{'name'}; foreach my $desc (keys %{$inv_hash;}) { my $sub = $inv_hash->{$desc}; confess("Invariant '${desc}' violated") unless &$sub(@_); } ; }
528 67 49 $spec->{'constructor'} ||= {}
537 0 49 $constructor_spec->{'name'} ||= 'new'

or 3 conditions

line l !l&&r !l&&!r condition
43 47 2 0 $self->{'cls_stash'} ||= 'Package::Stash'->new($spec->{'name'})
47 10 39 0 $Mic::Bound_implementation_of{$spec->{'name'}} || $spec->{'implementation'}
230 2 0 0 $r eq $spec->{'interface_name'} || $spec->{'name'} eq $r || $spec->{'does'}{$r} || $self->isa($r)
330 0 5 0 !ref($spec->{'interface'}) && $Mic::Spec_for{$spec->{'interface'}}{'interface_meta'}{'invariant'} || $spec->{'interface_meta'}{'invariant'}
496 2 49 0 $target_method->{$meth} || $meth