Branch Coverage

lib/Graphics/Toolkit/Color/Space/Shape.pm
Criterion Covered Total %
branch 175 214 81.7


line true false branch
14 1 504 unless ref $basis eq "Graphics::Toolkit::Color::Space::Basis"
17 373 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 492 unless ref $range
32 2 490 unless ref $precision
35 55 435 if (defined $constraint) { }
36 2 53 if ref $constraint ne "HASH" or not %$constraint
39 2 52 unless ref $properties eq "HASH" and keys %$properties == 3
44 3 147 unless exists $properties->{$_} and $properties->{$_} and not ref $properties->{$_}
48 0 49 if $@
51 0 49 if $@
62 0 1194 if ref $basis eq __PACKAGE__
64 829 365 if not defined $range or $range eq "normal"
65 1 1193 if $range eq "percent"
66 0 328 unless not ref $range and is_nr($range) or ref $range eq "ARRAY" or ref $range eq "HASH"
69 6 1188 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 866 328 unless ref $range
83 869 325 if @$range == 1
84 4 1190 if @$range != $basis->axis_count
88 3165 429 if (not ref $axis_range) { }
429 0 elsif (ref $axis_range eq 'ARRAY') { }
89 3 3162 if ($axis_range eq 'normal') { }
0 3162 elsif ($axis_range eq 'percent') { }
93 2 427 unless @$axis_range == 2
94 0 427 unless is_nr($axis_range->[0])
95 1 426 unless is_nr($axis_range->[1])
96 1 425 if $axis_range->[0] >= $axis_range->[1]
103 2558 694 unless defined $range
109 0 777 if ref $basis eq __PACKAGE__
110 74 703 unless defined $precision
111 708 69 unless ref $precision
112 0 777 unless ref $precision eq "ARRAY"
113 2 775 unless @$precision == $basis->axis_count
118 1122 285 unless defined $precision
127 4 12006 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
128 2 12004 $self->{'type'}[$axis_nr] == 2 ? :
133 1 64 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
134 56 8 $self->{'type'}[$axis_nr] == 1 ? :
140 0 9 unless ref $range
141 1 8 unless $self->is_axis_numeric($axis_nr)
147 0 4 unless ref $range
148 1 3 unless $self->is_axis_numeric($axis_nr)
153 0 16 unless defined $axis_nr and exists $self->{'type'}[$axis_nr]
154 1 15 unless $self->is_axis_numeric($axis_nr)
156 0 15 unless ref $precision eq "ARRAY" and exists $precision->[$axis_nr]
163 9 80 if $self->{'type'}[$_] != 1
169 10 90 if $self->{'type'}[$_] == 0
170 1 99 if $self->{'type'}[$_] > 1
171 9 23 $angular_axis == 1 ? :
175 3 1 if $self->{'precision'}[$_] != 0
178 38 1310 ref $self->{'constraint'} ? :
184 64 279 unless $self->basis->is_value_tuple($tuple)
187 0 279 unless ref $range
189 0 279 unless ref $precision
192 0 642 unless $self->is_axis_numeric($axis_index)
193 91 551 if $tuple->[$axis_index] < $range->[$axis_index][0]
195 95 456 if $tuple->[$axis_index] > $range->[$axis_index][1]
197 19 437 if $precision->[$axis_index] >= 0 and round_decimals($tuple->[$axis_index], $precision->[$axis_index]) != $tuple->[$axis_index]
201 9 65 if ($self->has_constraints)
204 2 7 unless $constraint->{'checker'}->($tuple)
212 5 3 unless $self->basis->is_value_tuple($tuple_a) and $self->basis->is_value_tuple($tuple_b)
215 0 9 if round_decimals($tuple_a->[$axis_nr], $precision->[$axis_nr]) != round_decimals($tuple_b->[$axis_nr], $precision->[$axis_nr])
223 0 2 unless $self->basis->is_number_tuple($tuple)
224 0 2 unless $self->has_constraints
226 1 1 unless $constraint->{'checker'}->($tuple)
233 0 2 unless $self->is_in_linear_bounds($tuple, $range)
236 3 1 if $self->{'type'}[$axis_nr]
237 1 0 if $tuple->[$axis_nr] < $range->[$axis_nr][0] or $tuple->[$axis_nr] > $range->[$axis_nr][1]
245 3 363 unless $self->basis->is_number_tuple($tuple)
248 83 953 if $self->{'type'}[$axis_nr] != 1
249 66 887 if $tuple->[$axis_nr] < $range->[$axis_nr][0] or $tuple->[$axis_nr] > $range->[$axis_nr][1]
252 0 297 if ($self->has_constraints)
262 0 963 unless ref $range
263 0 963 unless ref $tuple eq "ARRAY"
266 0 2904 unless $self->is_axis_numeric($axis_nr)
267 80 2824 unless (defined $tuple->[$axis_nr])
269 1 79 if $default_value < $range->[$axis_nr][0] or $default_value > $range->[$axis_nr][1]
274 2610 214 if ($self->{'type'}[$axis_nr]) { }
275 29 2581 if $tuple->[$axis_nr] < $range->[$axis_nr][0]
276 39 2571 if $tuple->[$axis_nr] > $range->[$axis_nr][1]
281 1 213 if $tuple->[$axis_nr] == $range->[$axis_nr][1]
284 23 940 if ($self->has_constraints)
287 3 20 unless $constraint->{'checker'}->($tuple)
296 0 1125 unless $self->basis->is_value_tuple($tuple)
298 0 1125 unless ref $precision
299 3363 17 if ($self->is_axis_numeric($_) and $precision->[$_] >= 0) { }
305 0 641 unless $self->basis->is_value_tuple($tuple)
307 0 641 unless ref $range
308 1927 0 if ($self->is_axis_numeric($_)) { }
314 0 954 unless $self->basis->is_value_tuple($tuple)
316 0 954 unless ref $range
317 2869 0 if ($self->is_axis_numeric($_)) { }
323 0 30 unless $self->basis->is_value_tuple($delta_values)
325 0 30 unless ref $range
326 91 0 if ($self->is_axis_numeric($_)) { }
333 6 53 unless $self->basis->is_value_tuple($tuple1) and $self->basis->is_value_tuple($tuple2)
335 160 0 $self->is_axis_numeric($_) ? :
336 3 6 $delta[$_] > 0.5 ? :
7 9 $delta[$_] < -0.5 ? :
144 16 if ($self->{'type'}[$_]) { }