Condition Coverage

blib/lib/Mic/Assembler.pm
Criterion Covered Total %
condition 38 57 66.6


and 3 conditions

line !l l&&!r l&&r condition
118 51 0 51 $type eq 'interface' and ref $spec->{$type} eq 'HASH'
189 0 0 2 ref $h1->{$k} eq 'HASH' and ref $h2->{$k} eq 'HASH'
260 0 51 16 not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'}
51 1 15 not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} and $$in_interface{$meta->{'reader'}}
271 0 66 1 not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'}
66 0 1 not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} and $$in_interface{$meta->{'property'}}
284 0 66 1 not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'}
66 0 1 not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} and $$in_interface{$meta->{'writer'}}
352 235 14 7 defined $Mic::Contracts_for{$spec->{'name'}}{'pre'} and not $Mic::Contracts_for{$spec->{'name'}}{'pre'}
394 24 0 6 $type eq 'class' and $name eq $constructor_spec->{'name'}

or 2 conditions

line l !l condition
21 51 0 $arg{'-spec'} || {}
113 51 51 $type ||= 'interface'
163 2 51 $from_interface ||= {}
342 0 6 $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(@_); } ; }
542 69 51 $spec->{'constructor'} ||= {}
551 0 51 $constructor_spec->{'name'} ||= 'new'

or 3 conditions

line l !l&&r !l&&!r condition
42 49 2 0 $self->{'cls_stash'} ||= 'Package::Stash'->new($spec->{'name'})
46 11 40 0 $Mic::Bound_implementation_of{$spec->{'name'}} || $spec->{'implementation'}
243 2 0 0 $r eq $spec->{'interface_name'} || $spec->{'name'} eq $r || $spec->{'does'}{$r} || $self->isa($r)
331 0 6 0 !ref($spec->{'interface'}) && $Mic::Spec_for{$spec->{'interface'}}{'interface_meta'}{'invariant'} || $spec->{'interface_meta'}{'invariant'}
512 2 53 0 $target_method->{$meth} || $meth