Branch Coverage

lib/Graphics/Toolkit/Color/Space/Shape.pm
Criterion Covered Total %
branch 146 182 80.2


line true false branch
14 1 324 unless ref $basis eq "Graphics::Toolkit::Color::Space::Basis"
17 193 131 if (not defined $type) { }
129 2 elsif (ref $type eq 'ARRAY' and @$type == $basis->axis_count) { }
21 0 385 unless defined $atype
22 131 254 if ($atype eq 'angular' or $atype eq 'circular' or $atype eq '0') { }
248 6 elsif ($atype eq 'linear' or $atype eq '1') { }
4 2 elsif ($atype eq 'no' or $atype eq '2') { }
30 8 312 unless ref $range
32 2 310 unless ref $precision
35 9 301 if (defined $constraint) { }
36 2 7 if ref $constraint ne "HASH" or not %$constraint
40 2 6 unless exists $const_properties->{'checker'} and exists $const_properties->{'remedy'} and exists $const_properties->{'error'}
41 1 5 unless ref $const_properties->{'checker'} eq "CODE"
42 1 4 unless ref $const_properties->{'remedy'} eq "CODE"
43 1 3 if ref $const_properties->{'error'}
53 0 1499 if ref $basis eq __PACKAGE__
55 1201 298 if not defined $range or $range eq "normal"
56 1 1498 if $range eq "percent"
57 1 1498 unless not ref $range and is_nr($range) or ref $range eq "ARRAY"
59 1231 267 unless ref $range
60 1234 264 if @$range == 1
61 3 1495 if @$range != $basis->axis_count
65 4254 262 if (not ref $axis_range) { }
262 0 elsif (ref $axis_range eq 'ARRAY') { }
66 3 4251 if ($axis_range eq 'normal') { }
0 4251 elsif ($axis_range eq 'percent') { }
70 2 260 unless @$axis_range == 2
71 0 260 unless is_nr($axis_range->[0])
72 1 259 unless is_nr($axis_range->[1])
73 1 258 if $axis_range->[0] >= $axis_range->[1]
80 2412 1179 unless defined $range
86 0 321 if ref $basis eq __PACKAGE__
87 89 232 unless defined $precision
88 291 30 unless ref $precision
89 0 321 unless ref $precision eq "ARRAY"
90 2 319 unless @$precision == $basis->axis_count
95 990 9 unless defined $precision
104 4 13228 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
105 2 13226 $self->{'type'}[$axis_nr] == 2 ? :
111 0 9 unless ref $range
112 1 8 unless $self->is_axis_numeric($axis_nr)
118 0 4 unless ref $range
119 1 3 unless $self->is_axis_numeric($axis_nr)
124 0 16 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
125 1 15 unless $self->is_axis_numeric($axis_nr)
127 0 15 unless ref $precision eq "ARRAY" and exists $precision->[$axis_nr]
134 9 44 if $self->{'type'}[$_] != 1
141 10 54 if $self->{'type'}[$_] == 0
142 1 63 if $self->{'type'}[$_] > 1
143 9 11 $angular_axis == 1 ? :
148 3 1 if $self->{'precision'}[$_] != 0
155 40 180 unless $self->basis->is_value_tuple($values)
158 0 180 unless ref $range
160 0 180 unless ref $precision
163 0 417 unless $self->is_axis_numeric($axis_index)
164 55 362 if $values->[$axis_index] < $range->[$axis_index][0]
166 59 303 if $values->[$axis_index] > $range->[$axis_index][1]
168 19 284 if $precision->[$axis_index] >= 0 and round_decimals($values->[$axis_index], $precision->[$axis_index]) != $values->[$axis_index]
173 0 0 unless $constraint->{'checker'}->($values)
180 3 346 unless $self->basis->is_number_tuple($values)
184 60 859 if $self->{'type'}[$axis_nr] == 1 and $values->[$axis_nr] < $self->{'range'}[$axis_nr][0] || $values->[$axis_nr] > $self->{'range'}[$axis_nr][1]
187 0 0 unless $constraint->{'checker'}->($values)
194 5 3 unless $self->basis->is_value_tuple($values_a) and $self->basis->is_value_tuple($values_b)
197 0 9 if round_decimals($values_a->[$axis_nr], $precision->[$axis_nr]) != round_decimals($values_b->[$axis_nr], $precision->[$axis_nr])
207 0 1952 unless ref $range
208 0 1952 unless ref $values eq "ARRAY"
211 0 5882 unless $self->is_axis_numeric($axis_nr)
212 29 5853 unless (defined $values->[$axis_nr])
214 1 28 if $default_value < $range->[$axis_nr][0] or $default_value > $range->[$axis_nr][1]
219 5469 384 if ($self->{'type'}[$axis_nr]) { }
220 26 5443 if $values->[$axis_nr] < $range->[$axis_nr][0]
221 30 5439 if $values->[$axis_nr] > $range->[$axis_nr][1]
226 5 379 if $values->[$axis_nr] == $range->[$axis_nr][1]
230 0 0 unless $constraint->{'checker'}->($values)
237 0 816 unless $self->basis->is_value_tuple($values)
239 0 816 unless ref $precision
240 2397 58 if ($self->is_axis_numeric($_) and $precision->[$_] >= 0) { }
246 0 553 unless $self->basis->is_value_tuple($values)
248 0 553 unless ref $range
249 1663 0 if ($self->is_axis_numeric($_)) { }
255 0 856 unless $self->basis->is_value_tuple($values)
257 0 856 unless ref $range
258 2575 0 if ($self->is_axis_numeric($_)) { }
264 0 30 unless $self->basis->is_value_tuple($delta_values)
266 0 30 unless ref $range
267 91 0 if ($self->is_axis_numeric($_)) { }
274 6 37 unless $self->basis->is_value_tuple($values1) and $self->basis->is_value_tuple($values2)
276 112 0 $self->is_axis_numeric($_) ? :
277 3 6 $delta[$_] > 0.5 ? :
7 9 $delta[$_] < -0.5 ? :
96 16 if ($self->{'type'}[$_]) { }