]> gitweb.factorcode.org Git - factor.git/blob - extra/images/normalization/normalization-tests.factor
merge project-euler.factor
[factor.git] / extra / images / normalization / normalization-tests.factor
1 ! Copyright (C) 2009 Keith Lazuka.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: images images.normalization images.normalization.private
4 sequences tools.test ;
5 IN: images.normalization.tests
6
7 ! 1>x
8
9 [ B{ 255 255 } ]
10 [ B{ 0 1 } A L permute ] unit-test
11
12 [ B{ 255 255 255 255 } ]
13 [ B{ 0 1 } A RG permute ] unit-test
14
15 [ B{ 255 255 255 255 255 255 } ]
16 [ B{ 0 1 } A BGR permute ] unit-test
17
18 [ B{ 0 255 255 255 1 255 255 255 } ]
19 [ B{ 0 1 } A ABGR permute ] unit-test
20
21 ! 2>x
22
23 [ B{ 0 2 } ]
24 [ B{ 0 1 2 3 } LA L permute ] unit-test
25
26 [ B{ 255 255 255 255 } ]
27 [ B{ 0 1 2 3 } LA RG permute ] unit-test
28
29 [ B{ 255 255 255 255 255 255 } ]
30 [ B{ 0 1 2 3 } LA BGR permute ] unit-test
31
32 [ B{ 1 255 255 255 3 255 255 255 } ]
33 [ B{ 0 1 2 3 } LA ABGR permute ] unit-test
34
35 ! 3>x
36
37 [ B{ 255 255 } ]
38 [ B{ 0 1 2 3 4 5 } RGB L permute ] unit-test
39
40 [ B{ 0 1 3 4 } ]
41 [ B{ 0 1 2 3 4 5 } RGB RG permute ] unit-test
42
43 [ B{ 2 1 0 5 4 3 } ]
44 [ B{ 0 1 2 3 4 5 } RGB BGR permute ] unit-test
45
46 [ B{ 255 2 1 0 255 5 4 3 } ]
47 [ B{ 0 1 2 3 4 5 } RGB ABGR permute ] unit-test
48
49 ! 4>x
50
51 [ B{ 255 255 } ]
52 [ B{ 0 1 2 3 4 5 6 7 } RGBA L permute ] unit-test
53
54 [ B{ 0 1 4 5 } ]
55 [ B{ 0 1 2 3 4 5 6 7 } RGBA RG permute ] unit-test
56
57 [ B{ 2 1 0 6 5 4 } ]
58 [ B{ 0 1 2 3 4 5 6 7 } RGBA BGR permute ] unit-test
59
60 [ B{ 3 2 1 0 7 6 5 4 } ]
61 [ B{ 0 1 2 3 4 5 6 7 } RGBA ABGR permute ] unit-test
62
63 ! Edge cases
64
65 [ B{ 0 4 } ]
66 [ B{ 0 1 2 3 4 5 6 7 } RGBA R permute ] unit-test
67
68 [ B{ 255 0 1 2 255 4 5 6 } ]
69 [ B{ 0 1 2 3 4 5 6 7 } RGBA XRGB permute ] unit-test
70
71 [ B{ 1 2 3 255 5 6 7 255 } ]
72 [ B{ 0 1 2 3 4 5 6 7 } XRGB RGBA permute ] unit-test
73
74 [ B{ 255 255 255 255 255 255 255 255 } ]
75 [ B{ 0 1 } L RGBA permute ] unit-test
76
77 ! Invalid inputs
78
79 [
80     T{ image f { 1 1 } DEPTH ubyte-components f B{ 0 } }
81     RGB reorder-components
82 ] must-fail
83
84 [
85     T{ image f { 1 1 } DEPTH-STENCIL ubyte-components f B{ 0 } }
86     RGB reorder-components
87 ] must-fail
88
89 [
90     T{ image f { 1 1 } INTENSITY ubyte-components f B{ 0 } }
91     RGB reorder-components
92 ] must-fail
93
94 [
95     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
96     DEPTH reorder-components
97 ] must-fail
98
99 [
100     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
101     DEPTH-STENCIL reorder-components
102 ] must-fail
103
104 [
105     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
106     INTENSITY reorder-components
107 ] must-fail
108