]> gitweb.factorcode.org Git - factor.git/blob - basis/images/normalization/normalization-tests.factor
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
[factor.git] / basis / 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 } 2 2 A L permute ] unit-test
11
12 { B{ 255 255 255 255 } }
13 [ B{ 0 1 } 2 2 A RG permute ] unit-test
14
15 { B{ 255 255 255 255 255 255 } }
16 [ B{ 0 1 } 2 2 A BGR permute ] unit-test
17
18 { B{ 0 255 255 255 1 255 255 255 } }
19 [ B{ 0 1 } 2 2 A ABGR permute ] unit-test
20
21 ! Difference stride
22 ! The last byte is padding, so it should not end up in the image
23
24 { B{ 255 255 } }
25 [ B{ 0 1 0 } 2 3 A L permute ] unit-test
26
27 { B{ 255 255 255 255 } }
28 [ B{ 0 1 0 } 2 3 A RG permute ] unit-test
29
30 { B{ 255 255 255 255 255 255 } }
31 [ B{ 0 1 0 } 2 3 A BGR permute ] unit-test
32
33 { B{ 0 255 255 255 1 255 255 255 } }
34 [ B{ 0 1 0 } 2 3 A ABGR permute ] unit-test
35
36 ! 2>x
37
38 { B{ 0 2 } }
39 [ B{ 0 1 2 3 } 2 4 LA L permute ] unit-test
40
41 { B{ 255 255 255 255 } }
42 [ B{ 0 1 2 3 } 2 4 LA RG permute ] unit-test
43
44 { B{ 255 255 255 255 255 255 } }
45 [ B{ 0 1 2 3 } 2 4 LA BGR permute ] unit-test
46
47 { B{ 1 255 255 255 3 255 255 255 } }
48 [ B{ 0 1 2 3 } 2 4 LA ABGR permute ] unit-test
49
50 ! 3>x
51
52 { B{ 255 255 } }
53 [ B{ 0 1 2 3 4 5 } 2 6 RGB L permute ] unit-test
54
55 { B{ 0 1 3 4 } }
56 [ B{ 0 1 2 3 4 5 } 2 6 RGB RG permute ] unit-test
57
58 { B{ 2 1 0 5 4 3 } }
59 [ B{ 0 1 2 3 4 5 } 2 6 RGB BGR permute ] unit-test
60
61 { B{ 255 2 1 0 255 5 4 3 } }
62 [ B{ 0 1 2 3 4 5 } 2 6 RGB ABGR permute ] unit-test
63
64 ! 4>x
65
66 { B{ 255 255 } }
67 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA L permute ] unit-test
68
69 { B{ 0 1 4 5 } }
70 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA RG permute ] unit-test
71
72 { B{ 2 1 0 6 5 4 } }
73 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA BGR permute ] unit-test
74
75 { B{ 3 2 1 0 7 6 5 4 } }
76 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA ABGR permute ] unit-test
77
78 ! Edge cases
79
80 { B{ 0 4 } }
81 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA R permute ] unit-test
82
83 { B{ 255 0 1 2 255 4 5 6 } }
84 [ B{ 0 1 2 3 4 5 6 7 } 2 8 RGBA XRGB permute ] unit-test
85
86 { B{ 1 2 3 255 5 6 7 255 } }
87 [ B{ 0 1 2 3 4 5 6 7 } 2 8 XRGB RGBA permute ] unit-test
88
89 { B{ 255 255 255 255 255 255 255 255 } }
90 [ B{ 0 1 } 2 2 L RGBA permute ] unit-test
91
92 ! Invalid inputs
93
94 [
95     T{ image f { 1 1 } DEPTH ubyte-components f B{ 0 } }
96     RGB reorder-components
97 ] must-fail
98
99 [
100     T{ image f { 1 1 } DEPTH-STENCIL ubyte-components f B{ 0 } }
101     RGB reorder-components
102 ] must-fail
103
104 [
105     T{ image f { 1 1 } INTENSITY ubyte-components f B{ 0 } }
106     RGB reorder-components
107 ] must-fail
108
109 [
110     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
111     DEPTH reorder-components
112 ] must-fail
113
114 [
115     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
116     DEPTH-STENCIL reorder-components
117 ] must-fail
118
119 [
120     T{ image f { 1 1 } RGB ubyte-components f B{ 0 0 0 } }
121     INTENSITY reorder-components
122 ] must-fail