Branch Coverage

lib/Graphics/Toolkit/Color/Space/Shape.pm
Criterion Covered Total %
branch 169 206 82.0


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 40 270 if (defined $constraint) { }
36 2 38 if ref $constraint ne "HASH" or not %$constraint
39 2 37 unless ref $properties eq "HASH" and keys %$properties == 3
44 3 102 unless exists $properties->{$_} and $properties->{$_} and not ref $properties->{$_}
48 0 34 if $@
51 0 34 if $@
62 0 1572 if ref $basis eq __PACKAGE__
64 1228 344 if not defined $range or $range eq "normal"
65 1 1571 if $range eq "percent"
66 1 1571 unless not ref $range and is_nr($range) or ref $range eq "ARRAY"
68 1258 313 unless ref $range
69 1261 310 if @$range == 1
70 3 1568 if @$range != $basis->axis_count
74 4335 400 if (not ref $axis_range) { }
400 0 elsif (ref $axis_range eq 'ARRAY') { }
75 3 4332 if ($axis_range eq 'normal') { }
0 4332 elsif ($axis_range eq 'percent') { }
79 2 398 unless @$axis_range == 2
80 0 398 unless is_nr($axis_range->[0])
81 1 397 unless is_nr($axis_range->[1])
82 1 396 if $axis_range->[0] >= $axis_range->[1]
89 2833 1252 unless defined $range
95 0 321 if ref $basis eq __PACKAGE__
96 89 232 unless defined $precision
97 291 30 unless ref $precision
98 0 321 unless ref $precision eq "ARRAY"
99 2 319 unless @$precision == $basis->axis_count
104 1506 9 unless defined $precision
113 4 15193 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
114 2 15191 $self->{'type'}[$axis_nr] == 2 ? :
119 1 64 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
120 56 8 $self->{'type'}[$axis_nr] == 1 ? :
126 0 9 unless ref $range
127 1 8 unless $self->is_axis_numeric($axis_nr)
133 0 4 unless ref $range
134 1 3 unless $self->is_axis_numeric($axis_nr)
139 0 16 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
140 1 15 unless $self->is_axis_numeric($axis_nr)
142 0 15 unless ref $precision eq "ARRAY" and exists $precision->[$axis_nr]
149 9 44 if $self->{'type'}[$_] != 1
156 10 54 if $self->{'type'}[$_] == 0
157 1 63 if $self->{'type'}[$_] > 1
158 9 11 $angular_axis == 1 ? :
163 3 1 if $self->{'precision'}[$_] != 0
170 40 182 unless $self->basis->is_value_tuple($values)
173 0 182 unless ref $range
175 0 182 unless ref $precision
178 0 423 unless $self->is_axis_numeric($axis_index)
179 55 368 if $values->[$axis_index] < $range->[$axis_index][0]
181 59 309 if $values->[$axis_index] > $range->[$axis_index][1]
183 19 290 if $precision->[$axis_index] >= 0 and round_decimals($values->[$axis_index], $precision->[$axis_index]) != $values->[$axis_index]
187 6 43 if ($self->has_constraints)
190 1 5 unless $constraint->{'checker'}->($values)
198 5 3 unless $self->basis->is_value_tuple($values_a) and $self->basis->is_value_tuple($values_b)
201 0 9 if round_decimals($values_a->[$axis_nr], $precision->[$axis_nr]) != round_decimals($values_b->[$axis_nr], $precision->[$axis_nr])
207 31 1830 ref $self->{'constraint'} ? :
211 0 2 unless $self->has_constraints
213 1 1 unless $constraint->{'checker'}->($values)
220 0 6 unless $self->basis->is_number_tuple($values)
223 0 12 if $self->{'type'}[$axis_nr] > 1
224 3 9 if $values->[$axis_nr] < $range->[$axis_nr][0] or $values->[$axis_nr] > $range->[$axis_nr][1]
227 0 3 if ($self->has_constraints)
235 3 346 unless $self->basis->is_number_tuple($values)
238 74 919 if $self->{'type'}[$axis_nr] != 1
239 60 859 if $values->[$axis_nr] < $range->[$axis_nr][0] or $values->[$axis_nr] > $range->[$axis_nr][1]
242 0 286 if ($self->has_constraints)
252 0 1517 unless ref $range
253 0 1517 unless ref $values eq "ARRAY"
256 0 4574 unless $self->is_axis_numeric($axis_nr)
257 29 4545 unless (defined $values->[$axis_nr])
259 1 28 if $default_value < $range->[$axis_nr][0] or $default_value > $range->[$axis_nr][1]
264 4260 285 if ($self->{'type'}[$axis_nr]) { }
265 26 4234 if $values->[$axis_nr] < $range->[$axis_nr][0]
266 30 4230 if $values->[$axis_nr] > $range->[$axis_nr][1]
271 1 284 if $values->[$axis_nr] == $range->[$axis_nr][1]
274 20 1497 if ($self->has_constraints)
277 4 16 unless $constraint->{'checker'}->($values)
286 0 1330 unless $self->basis->is_value_tuple($values)
288 0 1330 unless ref $precision
289 3939 58 if ($self->is_axis_numeric($_) and $precision->[$_] >= 0) { }
295 0 594 unless $self->basis->is_value_tuple($values)
297 0 594 unless ref $range
298 1786 0 if ($self->is_axis_numeric($_)) { }
304 0 1390 unless $self->basis->is_value_tuple($values)
306 0 1390 unless ref $range
307 4177 0 if ($self->is_axis_numeric($_)) { }
313 0 30 unless $self->basis->is_value_tuple($delta_values)
315 0 30 unless ref $range
316 91 0 if ($self->is_axis_numeric($_)) { }
323 6 37 unless $self->basis->is_value_tuple($values1) and $self->basis->is_value_tuple($values2)
325 112 0 $self->is_axis_numeric($_) ? :
326 3 6 $delta[$_] > 0.5 ? :
7 9 $delta[$_] < -0.5 ? :
96 16 if ($self->{'type'}[$_]) { }