Branch Coverage

lib/Graphics/Toolkit/Color/Space/Shape.pm
Criterion Covered Total %
branch 184 228 80.7


line true false branch
14 1 582 unless ref $basis eq "Graphics::Toolkit::Color::Space::Basis"
17 395 187 if (not defined $type) { }
185 2 elsif (ref $type eq 'ARRAY' and @$type == $basis->axis_count) { }
21 0 553 unless defined $atype
22 187 366 if ($atype eq 'angular' or $atype eq 'circular' or $atype eq '0') { }
360 6 elsif ($atype eq 'linear' or $atype eq '1') { }
4 2 elsif ($atype eq 'no' or $atype eq '2') { }
30 8 570 unless ref $range
32 2 568 unless ref $precision
35 74 494 if (defined $constraint) { }
36 2 72 if ref $constraint ne "HASH" or not %$constraint
39 2 71 unless ref $properties eq "HASH" and keys %$properties == 3
44 3 204 unless exists $properties->{$_} and $properties->{$_} and not ref $properties->{$_}
48 0 68 if $@
51 0 68 if $@
62 0 2300 if ref $basis eq __PACKAGE__
64 864 1436 if not defined $range or $range eq "normal"
65 1 2299 if $range eq "percent"
66 0 1400 unless not ref $range and is_nr($range) or ref $range eq "ARRAY" or ref $range eq "HASH"
69 6 2294 if (ref $range eq "HASH")
72 0 13 unless $basis->is_axis_name($axis_name)
76 13 5 if exists $range_array->[$axis_index] and defined $range_array->[$axis_index]
77 3 2 unless ref $self and ref $self->{'range'}
82 900 1400 unless ref $range
83 903 1397 if @$range == 1
84 4 2296 if @$range != $basis->axis_count
88 3449 3486 if (not ref $axis_range) { }
3486 0 elsif (ref $axis_range eq 'ARRAY') { }
89 3 3446 if ($axis_range eq 'normal') { }
0 3446 elsif ($axis_range eq 'percent') { }
93 2 3484 unless @$axis_range == 2
94 0 3484 unless is_nr($axis_range->[0])
95 1 3483 unless is_nr($axis_range->[1])
96 1 3482 if $axis_range->[0] >= $axis_range->[1]
103 2839 1722 unless defined $range
109 0 933 if ref $basis eq __PACKAGE__
110 77 856 unless defined $precision
111 814 119 unless ref $precision
112 0 933 unless ref $precision eq "ARRAY"
113 2 931 unless @$precision == $basis->axis_count
118 1170 363 unless defined $precision
127 4 13147 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
128 13145 2 $self->{'type'}[$axis_nr] < 2 ? :
133 1 2985 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
134 2750 235 $self->{'type'}[$axis_nr] == 1 ? :
139 1 3051 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
140 245 2806 $self->{'type'}[$axis_nr] == 0 ? :
145 0 18 unless ref $range
146 1 17 unless $self->is_axis_numeric($axis_nr)
152 0 4 unless ref $range
153 1 3 unless $self->is_axis_numeric($axis_nr)
158 0 16 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
159 1 15 unless $self->is_axis_numeric($axis_nr)
161 0 15 unless ref $precision eq "ARRAY" and exists $precision->[$axis_nr]
168 12 80 if $self->{'type'}[$_] != 1
174 13 96 if $self->{'type'}[$_] == 0
175 1 108 if $self->{'type'}[$_] > 1
176 12 23 $angular_axis == 1 ? :
180 3 1 if $self->{'precision'}[$_] != 0
183 47 1341 ref $self->{'constraint'} ? :
189 70 303 unless $self->basis->is_value_tuple($tuple)
192 0 303 unless ref $range
194 0 303 unless ref $precision
197 0 696 unless $self->is_axis_numeric($axis_index)
198 100 596 if $tuple->[$axis_index] < $range->[$axis_index][0]
200 104 492 if $tuple->[$axis_index] > $range->[$axis_index][1]
202 19 473 if $precision->[$axis_index] >= 0 and round_decimals($tuple->[$axis_index], $precision->[$axis_index]) != $tuple->[$axis_index]
206 11 69 if ($self->has_constraints)
209 2 9 unless $constraint->{'checker'}->($tuple)
217 5 3 unless $self->basis->is_value_tuple($tuple_a) and $self->basis->is_value_tuple($tuple_b)
220 0 9 if round_decimals($tuple_a->[$axis_nr], $precision->[$axis_nr]) != round_decimals($tuple_b->[$axis_nr], $precision->[$axis_nr])
228 0 2 unless $self->basis->is_number_tuple($tuple)
229 0 2 unless $self->has_constraints
231 1 1 unless $constraint->{'checker'}->($tuple)
238 0 2 unless $self->is_in_linear_bounds($tuple, $range)
241 3 1 if $self->{'type'}[$axis_nr]
242 1 0 if $tuple->[$axis_nr] < $range->[$axis_nr][0] or $tuple->[$axis_nr] > $range->[$axis_nr][1]
250 3 377 unless $self->basis->is_number_tuple($tuple)
253 84 978 if $self->{'type'}[$axis_nr] != 1
254 79 899 if $tuple->[$axis_nr] < $range->[$axis_nr][0] or $tuple->[$axis_nr] > $range->[$axis_nr][1]
257 0 298 if ($self->has_constraints)
267 0 995 unless ref $range
268 0 995 unless ref $tuple eq "ARRAY"
273 0 3003 unless $self->is_axis_numeric($axis_nr)
274 80 2923 if (not defined $tuple->[$axis_nr]) { }
276 1 79 if $default_value < $range->[$axis_nr][0] or $default_value > $range->[$axis_nr][1]
280 225 2698 unless $self->is_axis_euclidean($axis_nr)
281 32 2666 if $tuple->[$axis_nr] < $range->[$axis_nr][0]
282 48 2650 if $tuple->[$axis_nr] > $range->[$axis_nr][1]
286 29 966 if ($self->has_constraints)
289 4 25 unless $constraint->{'checker'}->($tuple)
297 0 1010 unless $self->basis->is_number_tuple($tuple)
299 0 1010 unless ref $range
302 2804 244 unless $self->is_axis_angular($axis_nr)
303 0 244 if (not defined $tuple->[$axis_nr]) { }
305 0 0 if $default_value < $range->[$axis_nr][0] or $default_value > $range->[$axis_nr][1]
312 1 243 if $tuple->[$axis_nr] == $range->[$axis_nr][1]
320 0 1227 unless $self->basis->is_value_tuple($tuple)
322 0 1227 unless ref $precision
323 3669 17 if ($self->is_axis_numeric($_) and $precision->[$_] >= 0) { }
329 0 762 unless $self->basis->is_value_tuple($tuple)
331 0 762 unless ref $range
332 2294 0 if ($self->is_axis_numeric($_)) { }
338 0 1053 unless $self->basis->is_value_tuple($tuple)
340 0 1053 unless ref $range
341 3166 0 if ($self->is_axis_numeric($_)) { }
347 0 30 unless $self->basis->is_value_tuple($delta_values)
349 0 30 unless ref $range
350 91 0 if ($self->is_axis_numeric($_)) { }
357 6 56 unless $self->basis->is_value_tuple($tuple1) and $self->basis->is_value_tuple($tuple2)
359 169 0 $self->is_axis_numeric($_) ? :
360 3 8 $delta[$_] > 0.5 ? :
8 11 $delta[$_] < -0.5 ? :
150 19 if ($self->{'type'}[$_]) { }