Skip to content

Commit 6238b5b

Browse files
committed
testet no also round function
1 parent 348252c commit 6238b5b

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

lib/Graphics/Toolkit/Color/Space.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ sub is_partial_hash { shift->basis->is_partial_hash(@_) } # %+values --> ?
3333
sub shape { $_[0]{'shape'} }
3434
sub in_range { shift->shape->in_range( @_ ) } # @+values -- @+range, @+precision --> @+values|!~ # errmsg
3535
sub clamp { shift->shape->clamp( @_ ) } # @+values -- @+range, @+precision --> @+rvals # result values
36+
sub round { shift->shape->round( @_ ) } # @+values -- @+precision --> @+rvals # result values
3637
sub normalize { shift->shape->normalize(@_)} # @+values -- @+range --> @+rvals|!~
3738
sub denormalize { shift->shape->denormalize(@_)} # @+values -- @+range, @+precision --> @+rvals|!~
3839
sub denormalize_delta { shift->shape->denormalize_delta(@_)} # @+values -- @+range --> @+rvals|!~

lib/Graphics/Toolkit/Color/Space/Shape.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ sub normalize {
156156
}
157157

158158
sub denormalize {
159-
my ($self, $values, $range, $precision) = @_;
159+
my ($self, $values, $range) = @_;
160160
return unless $self->basis->is_value_tuple( $values );
161161
$range = $self->_range( $range );
162162
return "bad range definition" unless ref $range;

t/05_space.t

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
use v5.12;
44
use warnings;
5-
use Test::More tests => 126;
5+
use Test::More tests => 140;
66

77
BEGIN { unshift @INC, 'lib', '../lib'}
88
my $module = 'Graphics::Toolkit::Color::Space';
@@ -108,6 +108,28 @@ is( $val->[1], 19, 'second value correct');
108108
is( $val->[2], -1, 'third value correct');
109109
is( $val->[3], -2, 'fourth value correct - range had none zero min');
110110

111+
$space = Graphics::Toolkit::Color::Space->new(
112+
axis => [qw/AAA BBB CCC DDD/], range => 10, precision => [0,1,2,-1],
113+
);
114+
is( ref $space, $module, 'created color space with axis names, ranges and precision');
115+
is( ref $space->shape, 'Graphics::Toolkit::Color::Space::Shape', 'have a valid space shape sub object');
116+
$val = $space->round([ 1.11111, 1.11111, 1.11111, 1.11111]);
117+
is( ref $val, 'ARRAY', 'rounded value tuple is a tuple');
118+
is( int @$val, 4, 'right amount of values');
119+
is( $val->[0], 1, 'first value correct');
120+
is( $val->[1], 1.1, 'second value correct');
121+
is( $val->[2], 1.11, 'third value correct');
122+
is( $val->[3], 1.11111, 'fourth value correct - range had none zero min');
123+
124+
$val = $space->clamp([ -0.1111, 1.1111, 200, 0.1111]);
125+
is( ref $val, 'ARRAY', 'clamped value tuple into a tuple');
126+
is( int @$val, 4, 'right amount of values');
127+
is( $val->[0], 0, 'clamped up to min');
128+
is( $val->[1], 1.1, 'second value correct');
129+
is( $val->[2], 10, 'third value correct');
130+
is( $val->[3], 0.1111, 'fourth value correct');
131+
132+
111133
is( $space->has_format('bbb'), 0, 'vector name is not a format');
112134
is( $space->has_format('c'), 0, 'vector sigil is not a format');
113135
is( $space->has_format('list'),1, 'list is a format');

0 commit comments

Comments
 (0)