Condition Coverage

blib/lib/Mic/Assembler.pm
Criterion Covered Total %
condition 32 49 65.3


and 3 conditions

line !l l&&!r l&&r condition
120 49 0 49 $type eq 'interface' and ref $spec->{$type} eq 'HASH'
215 0 49 15 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'reader'}
49 1 14 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'reader'} and $$in_interface{$meta->{'reader'}}
230 0 63 1 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'property'}
63 0 1 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'property'} and $$in_interface{$meta->{'property'}}
247 0 63 1 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'writer'}
63 0 1 not $spec->{'implementation'}{'methods'}{$name} and $meta->{'writer'} and $$in_interface{$meta->{'writer'}}
358 24 0 6 $type eq 'class' and $name eq $constructor_spec->{'name'}

or 2 conditions

line l !l condition
23 49 0 $arg{'-spec'} || {}
115 49 49 $type ||= 'interface'
309 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(@_); } ; }
496 67 49 $spec->{'constructor'} ||= {}
505 0 49 $constructor_spec->{'name'} ||= 'new'

or 3 conditions

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