File: 11convert-rgb.t

package info (click to toggle)
libconvert-color-perl 0.18-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 276 kB
  • sloc: perl: 1,760; makefile: 2
file content (130 lines) | stat: -rw-r--r-- 4,683 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/usr/bin/perl

use v5.14;
use warnings;

use Test2::V0;

use Convert::Color::RGB;

my $red = Convert::Color::RGB->new( 1, 0, 0 );

my $red_rgb8 = $red->convert_to("rgb8");
is( $red_rgb8->red,   255, 'red RGB8 red' );
is( $red_rgb8->green,   0, 'red RGB8 green' );
is( $red_rgb8->blue,    0, 'red RGB8 blue' );

my $red_hsv = $red->convert_to("hsv");
is( $red_hsv->hue,          0, 'red HSV hue' );
is( $red_hsv->saturation,   1, 'red HSV saturation' );
is( $red_hsv->value,        1, 'red HSV value' );

my $red_hsl = $red->convert_to("hsl");
is( $red_hsl->hue,          0, 'red HSL hue' );
is( $red_hsl->saturation,   1, 'red HSL saturation' );
is( $red_hsl->lightness,  0.5, 'red HSL lightness' );

my $red_cmy = $red->convert_to("cmy");
is( $red_cmy->cyan,    0, 'red CMY cyan' );
is( $red_cmy->magenta, 1, 'red CMY magenta' );
is( $red_cmy->yellow,  1, 'red CMY yellow' );

my $red_cmyk = $red->convert_to("cmyk");
is( $red_cmyk->cyan,    0, 'red CMYK cyan' );
is( $red_cmyk->magenta, 1, 'red CMYK magenta' );
is( $red_cmyk->yellow,  1, 'red CMYK yellow' );
is( $red_cmyk->key,     0, 'red CMYK key' );

my $green = Convert::Color::RGB->new( 0, 1, 0 );

my $green_hsv = $green->convert_to("hsv");
is( $green_hsv->hue,        120, 'green HSV hue' );
is( $green_hsv->saturation,   1, 'green HSV saturation' );
is( $green_hsv->value,        1, 'green HSV value' );

my $green_hsl = $green->convert_to("hsl");
is( $green_hsl->hue,        120, 'green HSL hue' );
is( $green_hsl->saturation,   1, 'green HSL saturation' );
is( $green_hsl->lightness,  0.5, 'green HSL lightness' );

my $green_cmy = $green->convert_to("cmy");
is( $green_cmy->cyan,    1, 'green CMY cyan' );
is( $green_cmy->magenta, 0, 'green CMY magenta' );
is( $green_cmy->yellow,  1, 'green CMY yellow' );

my $green_cmyk = $green->convert_to("cmyk");
is( $green_cmyk->cyan,    1, 'green CMYK cyan' );
is( $green_cmyk->magenta, 0, 'green CMYK magenta' );
is( $green_cmyk->yellow,  1, 'green CMYK yellow' );
is( $green_cmyk->key,     0, 'green CMYK key' );

my $blue = Convert::Color::RGB->new( 0, 0, 1 );

my $blue_hsv = $blue->convert_to("hsv");
is( $blue_hsv->hue,        240, 'blue HSV hue' );
is( $blue_hsv->saturation,   1, 'blue HSV saturation' );
is( $blue_hsv->value,        1, 'blue HSV value' );

my $blue_hsl = $blue->convert_to("hsl");
is( $blue_hsl->hue,        240, 'blue HSL hue' );
is( $blue_hsl->saturation,   1, 'blue HSL saturation' );
is( $blue_hsl->lightness,  0.5, 'blue HSL lightness' );

my $blue_cmy = $blue->convert_to("cmy");
is( $blue_cmy->cyan,    1, 'blue CMY cyan' );
is( $blue_cmy->magenta, 1, 'blue CMY magenta' );
is( $blue_cmy->yellow,  0, 'blue CMY yellow' );

my $blue_cmyk = $blue->convert_to("cmyk");
is( $blue_cmyk->cyan,    1, 'blue CMYK cyan' );
is( $blue_cmyk->magenta, 1, 'blue CMYK magenta' );
is( $blue_cmyk->yellow,  0, 'blue CMYK yellow' );
is( $blue_cmyk->key,     0, 'blue CMYK key' );

my $white = Convert::Color::RGB->new( 1, 1, 1 );

my $white_hsv = $white->as_hsv;
is( $white_hsv->hue,          0, 'white HSV hue' );
is( $white_hsv->saturation,   0, 'white HSV saturation' );
is( $white_hsv->value,        1, 'white HSV value' );

my $white_hsl = $white->as_hsl;
is( $white_hsl->hue,          0, 'white HSL hue' );
is( $white_hsl->saturation,   0, 'white HSL saturation' );
is( $white_hsl->lightness,    1, 'white HSL lightness' );

my $white_cmy = $white->as_cmy;
is( $white_cmy->cyan,    0, 'white CMY cyan' );
is( $white_cmy->magenta, 0, 'white CMY magenta' );
is( $white_cmy->yellow,  0, 'white CMY yellow' );

my $white_cmyk = $white->convert_to("cmyk");
is( $white_cmyk->cyan,    0, 'white CMYK cyan' );
is( $white_cmyk->magenta, 0, 'white CMYK magenta' );
is( $white_cmyk->yellow,  0, 'white CMYK yellow' );
is( $white_cmyk->key,     0, 'white CMYK key' );

my $black = Convert::Color::RGB->new( 0, 0, 0 );

my $black_hsv = $black->as_hsv;
is( $black_hsv->hue,          0, 'black HSV hue' );
is( $black_hsv->saturation,   0, 'black HSV saturation' );
is( $black_hsv->value,        0, 'black HSV value' );

my $black_hsl = $black->as_hsl;
is( $black_hsl->hue,          0, 'black HSL hue' );
is( $black_hsl->saturation,   0, 'black HSL saturation' );
is( $black_hsl->lightness,    0, 'black HSL lightness' );

my $black_cmy = $black->as_cmy;
is( $black_cmy->cyan,    1, 'black CMY cyan' );
is( $black_cmy->magenta, 1, 'black CMY magenta' );
is( $black_cmy->yellow,  1, 'black CMY yellow' );

my $black_cmyk = $black->convert_to("cmyk");
is( $black_cmyk->cyan,    0, 'black CMYK cyan' );
is( $black_cmyk->magenta, 0, 'black CMYK magenta' );
is( $black_cmyk->yellow,  0, 'black CMYK yellow' );
is( $black_cmyk->key,     1, 'black CMYK key' );

done_testing;