Permalink
Fetching contributors…
Cannot retrieve contributors at this time
826 lines (804 sloc) 36.9 KB
<?php
/*
* This file is part of the OrbitaleImageMagickPHP package.
*
* (c) Alexandre Rock Ancelet <alex@orbitale.io>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Orbitale\Component\ImageMagick\Tests;
use Orbitale\Component\ImageMagick\Command;
use Orbitale\Component\ImageMagick\ReferenceClasses\Geometry;
class GeometryTest extends AbstractTestCase
{
/**
* @param int $width
* @param int $height
* @param int $x
* @param int $y
* @param string $aspectRatio
*
* @dataProvider provideRightGeometries
*/
public function testGeometry($width, $height, $x, $y, $aspectRatio)
{
$geometry = new Geometry($width, $height, $x, $y, $aspectRatio);
try {
$validatedGeometry = $geometry->validate();
} catch (\Exception $e) {
$this->fail($e->getMessage());
return;
}
$this->assertInternalType('string', $validatedGeometry);
$this->assertNotEmpty($validatedGeometry);
if ('' === $validatedGeometry) {
$this->markTestSkipped('No geometry to check. ['.$validatedGeometry.'] ['.implode(',', func_get_args()).']');
}
$command = new Command(IMAGEMAGICK_DIR);
$outputFile = $this->resourcesDir.'/outputs/moon_180_test_geometry_'.md5($width.$height.$x.$y.$aspectRatio.'test_geo').'.jpg';
if (file_exists($outputFile)) {
unlink($outputFile);
}
$command
->convert($this->resourcesDir.'/moon_180.jpg')
->resize($geometry)
->file($outputFile, false)
;
$response = $command->run(Command::RUN_DEBUG);
$this->assertFalse($response->hasFailed(), 'For geometry ' .$geometry->validate().", ImageMagick error:\n".$response->getOutput());
$this->assertFileExists($outputFile);
}
public function provideRightGeometries()
{
// width, height, x, y, aspectRatio
return array(
0 => array(null, null, null, 0, null),
1 => array(null, null, null, -1, null),
2 => array(null, null, null, 1, null),
3 => array(null, null, 0, null, null),
4 => array(null, null, 0, 0, null),
5 => array(null, null, 0, -1, null),
6 => array(null, null, 0, 1, null),
7 => array(null, null, -1, null, null),
8 => array(null, null, -1, 0, null),
9 => array(null, null, -1, -1, null),
10 => array(null, null, -1, 1, null),
11 => array(null, null, 1, null, null),
12 => array(null, null, 1, 0, null),
13 => array(null, null, 1, -1, null),
14 => array(null, null, 1, 1, null),
15 => array(null, 100, null, null, null),
16 => array(null, 100, null, null, '<'),
17 => array(null, 100, null, null, '!'),
18 => array(null, 100, null, null, '^'),
19 => array(null, 100, null, null, '>'),
20 => array(null, 100, null, 0, null),
21 => array(null, 100, null, 0, '<'),
22 => array(null, 100, null, 0, '!'),
23 => array(null, 100, null, 0, '^'),
24 => array(null, 100, null, 0, '>'),
25 => array(null, 100, null, -1, null),
26 => array(null, 100, null, -1, '<'),
27 => array(null, 100, null, -1, '!'),
28 => array(null, 100, null, -1, '^'),
29 => array(null, 100, null, -1, '>'),
30 => array(null, 100, null, 1, null),
31 => array(null, 100, null, 1, '<'),
32 => array(null, 100, null, 1, '!'),
33 => array(null, 100, null, 1, '^'),
34 => array(null, 100, null, 1, '>'),
35 => array(null, 100, 0, null, null),
36 => array(null, 100, 0, null, '<'),
37 => array(null, 100, 0, null, '!'),
38 => array(null, 100, 0, null, '^'),
39 => array(null, 100, 0, null, '>'),
40 => array(null, 100, 0, 0, null),
41 => array(null, 100, 0, 0, '<'),
42 => array(null, 100, 0, 0, '!'),
43 => array(null, 100, 0, 0, '^'),
44 => array(null, 100, 0, 0, '>'),
45 => array(null, 100, 0, -1, null),
46 => array(null, 100, 0, -1, '<'),
47 => array(null, 100, 0, -1, '!'),
48 => array(null, 100, 0, -1, '^'),
49 => array(null, 100, 0, -1, '>'),
50 => array(null, 100, 0, 1, null),
51 => array(null, 100, 0, 1, '<'),
52 => array(null, 100, 0, 1, '!'),
53 => array(null, 100, 0, 1, '^'),
54 => array(null, 100, 0, 1, '>'),
55 => array(null, 100, -1, null, null),
56 => array(null, 100, -1, null, '<'),
57 => array(null, 100, -1, null, '!'),
58 => array(null, 100, -1, null, '^'),
59 => array(null, 100, -1, null, '>'),
60 => array(null, 100, -1, 0, null),
61 => array(null, 100, -1, 0, '<'),
62 => array(null, 100, -1, 0, '!'),
63 => array(null, 100, -1, 0, '^'),
64 => array(null, 100, -1, 0, '>'),
65 => array(null, 100, -1, -1, null),
66 => array(null, 100, -1, -1, '<'),
67 => array(null, 100, -1, -1, '!'),
68 => array(null, 100, -1, -1, '^'),
69 => array(null, 100, -1, -1, '>'),
70 => array(null, 100, -1, 1, null),
71 => array(null, 100, -1, 1, '<'),
72 => array(null, 100, -1, 1, '!'),
73 => array(null, 100, -1, 1, '^'),
74 => array(null, 100, -1, 1, '>'),
75 => array(null, 100, 1, null, null),
76 => array(null, 100, 1, null, '<'),
77 => array(null, 100, 1, null, '!'),
78 => array(null, 100, 1, null, '^'),
79 => array(null, 100, 1, null, '>'),
80 => array(null, 100, 1, 0, null),
81 => array(null, 100, 1, 0, '<'),
82 => array(null, 100, 1, 0, '!'),
83 => array(null, 100, 1, 0, '^'),
84 => array(null, 100, 1, 0, '>'),
85 => array(null, 100, 1, -1, null),
86 => array(null, 100, 1, -1, '<'),
87 => array(null, 100, 1, -1, '!'),
88 => array(null, 100, 1, -1, '^'),
89 => array(null, 100, 1, -1, '>'),
90 => array(null, 100, 1, 1, null),
91 => array(null, 100, 1, 1, '<'),
92 => array(null, 100, 1, 1, '!'),
93 => array(null, 100, 1, 1, '^'),
94 => array(null, 100, 1, 1, '>'),
95 => array(100, null, null, null, null),
96 => array(100, null, null, null, '<'),
97 => array(100, null, null, null, '!'),
98 => array(100, null, null, null, '^'),
99 => array(100, null, null, null, '>'),
100 => array(100, null, null, 0, null),
101 => array(100, null, null, 0, '<'),
102 => array(100, null, null, 0, '!'),
103 => array(100, null, null, 0, '^'),
104 => array(100, null, null, 0, '>'),
105 => array(100, null, null, -1, null),
106 => array(100, null, null, -1, '<'),
107 => array(100, null, null, -1, '!'),
108 => array(100, null, null, -1, '^'),
109 => array(100, null, null, -1, '>'),
110 => array(100, null, null, 1, null),
111 => array(100, null, null, 1, '<'),
112 => array(100, null, null, 1, '!'),
113 => array(100, null, null, 1, '^'),
114 => array(100, null, null, 1, '>'),
115 => array(100, null, 0, null, null),
116 => array(100, null, 0, null, '<'),
117 => array(100, null, 0, null, '!'),
118 => array(100, null, 0, null, '^'),
119 => array(100, null, 0, null, '>'),
120 => array(100, null, 0, 0, null),
121 => array(100, null, 0, 0, '<'),
122 => array(100, null, 0, 0, '!'),
123 => array(100, null, 0, 0, '^'),
124 => array(100, null, 0, 0, '>'),
125 => array(100, null, 0, -1, null),
126 => array(100, null, 0, -1, '<'),
127 => array(100, null, 0, -1, '!'),
128 => array(100, null, 0, -1, '^'),
129 => array(100, null, 0, -1, '>'),
130 => array(100, null, 0, 1, null),
131 => array(100, null, 0, 1, '<'),
132 => array(100, null, 0, 1, '!'),
133 => array(100, null, 0, 1, '^'),
134 => array(100, null, 0, 1, '>'),
135 => array(100, null, -1, null, null),
136 => array(100, null, -1, null, '<'),
137 => array(100, null, -1, null, '!'),
138 => array(100, null, -1, null, '^'),
139 => array(100, null, -1, null, '>'),
140 => array(100, null, -1, 0, null),
141 => array(100, null, -1, 0, '<'),
142 => array(100, null, -1, 0, '!'),
143 => array(100, null, -1, 0, '^'),
144 => array(100, null, -1, 0, '>'),
145 => array(100, null, -1, -1, null),
146 => array(100, null, -1, -1, '<'),
147 => array(100, null, -1, -1, '!'),
148 => array(100, null, -1, -1, '^'),
149 => array(100, null, -1, -1, '>'),
150 => array(100, null, -1, 1, null),
151 => array(100, null, -1, 1, '<'),
152 => array(100, null, -1, 1, '!'),
153 => array(100, null, -1, 1, '^'),
154 => array(100, null, -1, 1, '>'),
155 => array(100, null, 1, null, null),
156 => array(100, null, 1, null, '<'),
157 => array(100, null, 1, null, '!'),
158 => array(100, null, 1, null, '^'),
159 => array(100, null, 1, null, '>'),
160 => array(100, null, 1, 0, null),
161 => array(100, null, 1, 0, '<'),
162 => array(100, null, 1, 0, '!'),
163 => array(100, null, 1, 0, '^'),
164 => array(100, null, 1, 0, '>'),
165 => array(100, null, 1, -1, null),
166 => array(100, null, 1, -1, '<'),
167 => array(100, null, 1, -1, '!'),
168 => array(100, null, 1, -1, '^'),
169 => array(100, null, 1, -1, '>'),
170 => array(100, null, 1, 1, null),
171 => array(100, null, 1, 1, '<'),
172 => array(100, null, 1, 1, '!'),
173 => array(100, null, 1, 1, '^'),
174 => array(100, null, 1, 1, '>'),
175 => array(100, 100, null, null, null),
176 => array(100, 100, null, null, '<'),
177 => array(100, 100, null, null, '!'),
178 => array(100, 100, null, null, '^'),
179 => array(100, 100, null, null, '>'),
180 => array(100, 100, null, 0, null),
181 => array(100, 100, null, 0, '<'),
182 => array(100, 100, null, 0, '!'),
183 => array(100, 100, null, 0, '^'),
184 => array(100, 100, null, 0, '>'),
185 => array(100, 100, null, -1, null),
186 => array(100, 100, null, -1, '<'),
187 => array(100, 100, null, -1, '!'),
188 => array(100, 100, null, -1, '^'),
189 => array(100, 100, null, -1, '>'),
190 => array(100, 100, null, 1, null),
191 => array(100, 100, null, 1, '<'),
192 => array(100, 100, null, 1, '!'),
193 => array(100, 100, null, 1, '^'),
194 => array(100, 100, null, 1, '>'),
195 => array(100, 100, 0, null, null),
196 => array(100, 100, 0, null, '<'),
197 => array(100, 100, 0, null, '!'),
198 => array(100, 100, 0, null, '^'),
199 => array(100, 100, 0, null, '>'),
200 => array(100, 100, 0, 0, null),
201 => array(100, 100, 0, 0, '<'),
202 => array(100, 100, 0, 0, '!'),
203 => array(100, 100, 0, 0, '^'),
204 => array(100, 100, 0, 0, '>'),
205 => array(100, 100, 0, -1, null),
206 => array(100, 100, 0, -1, '<'),
207 => array(100, 100, 0, -1, '!'),
208 => array(100, 100, 0, -1, '^'),
209 => array(100, 100, 0, -1, '>'),
210 => array(100, 100, 0, 1, null),
211 => array(100, 100, 0, 1, '<'),
212 => array(100, 100, 0, 1, '!'),
213 => array(100, 100, 0, 1, '^'),
214 => array(100, 100, 0, 1, '>'),
215 => array(100, 100, -1, null, null),
216 => array(100, 100, -1, null, '<'),
217 => array(100, 100, -1, null, '!'),
218 => array(100, 100, -1, null, '^'),
219 => array(100, 100, -1, null, '>'),
220 => array(100, 100, -1, 0, null),
221 => array(100, 100, -1, 0, '<'),
222 => array(100, 100, -1, 0, '!'),
223 => array(100, 100, -1, 0, '^'),
224 => array(100, 100, -1, 0, '>'),
225 => array(100, 100, -1, -1, null),
226 => array(100, 100, -1, -1, '<'),
227 => array(100, 100, -1, -1, '!'),
228 => array(100, 100, -1, -1, '^'),
229 => array(100, 100, -1, -1, '>'),
230 => array(100, 100, -1, 1, null),
231 => array(100, 100, -1, 1, '<'),
232 => array(100, 100, -1, 1, '!'),
233 => array(100, 100, -1, 1, '^'),
234 => array(100, 100, -1, 1, '>'),
235 => array(100, 100, 1, null, null),
236 => array(100, 100, 1, null, '<'),
237 => array(100, 100, 1, null, '!'),
238 => array(100, 100, 1, null, '^'),
239 => array(100, 100, 1, null, '>'),
240 => array(100, 100, 1, 0, null),
241 => array(100, 100, 1, 0, '<'),
242 => array(100, 100, 1, 0, '!'),
243 => array(100, 100, 1, 0, '^'),
244 => array(100, 100, 1, 0, '>'),
245 => array(100, 100, 1, -1, null),
246 => array(100, 100, 1, -1, '<'),
247 => array(100, 100, 1, -1, '!'),
248 => array(100, 100, 1, -1, '^'),
249 => array(100, 100, 1, -1, '>'),
250 => array(100, 100, 1, 1, null),
251 => array(100, 100, 1, 1, '<'),
252 => array(100, 100, 1, 1, '!'),
253 => array(100, 100, 1, 1, '^'),
254 => array(100, 100, 1, 1, '>'))
;
}
/**
* @param int $width
* @param int $height
* @param int $x
* @param int $y
* @param string $aspectRatio
*
* @dataProvider provideWrongGeometries
*/
public function testWrongGeometry($width, $height, $x, $y, $aspectRatio)
{
$geometry = new Geometry($width, $height, $x, $y, $aspectRatio);
$expectedGeometry = Geometry::createFromParameters($width, $height, $x, $y, $aspectRatio);
$message = null;
try {
$geometry->validate();
} catch (\InvalidArgumentException $e) {
$message = $e->getMessage();
}
$this->assertNotNull($message, 'No exception for geometry "'.$expectedGeometry.'"');
$this->assertStringStartsWith('The specified geometry ('.$expectedGeometry.') is invalid.', $message, "Wrong exception message:\n$message");
}
public function provideWrongGeometries()
{
return array(
0 => array(null, null, null, null, '<'),
1 => array(null, null, null, null, '!'),
2 => array(null, null, null, null, '^'),
3 => array(null, null, null, null, '>'),
4 => array(null, null, null, 0, '<'),
5 => array(null, null, null, 0, '!'),
6 => array(null, null, null, 0, '^'),
7 => array(null, null, null, 0, '>'),
8 => array(null, null, null, -1, '<'),
9 => array(null, null, null, -1, '!'),
10 => array(null, null, null, -1, '^'),
11 => array(null, null, null, -1, '>'),
12 => array(null, null, null, 1, '<'),
13 => array(null, null, null, 1, '!'),
14 => array(null, null, null, 1, '^'),
15 => array(null, null, null, 1, '>'),
16 => array(null, null, 0, null, '<'),
17 => array(null, null, 0, null, '!'),
18 => array(null, null, 0, null, '^'),
19 => array(null, null, 0, null, '>'),
20 => array(null, null, 0, 0, '<'),
21 => array(null, null, 0, 0, '!'),
22 => array(null, null, 0, 0, '^'),
23 => array(null, null, 0, 0, '>'),
24 => array(null, null, 0, -1, '<'),
25 => array(null, null, 0, -1, '!'),
26 => array(null, null, 0, -1, '^'),
27 => array(null, null, 0, -1, '>'),
28 => array(null, null, 0, 1, '<'),
29 => array(null, null, 0, 1, '!'),
30 => array(null, null, 0, 1, '^'),
31 => array(null, null, 0, 1, '>'),
32 => array(null, null, -1, null, '<'),
33 => array(null, null, -1, null, '!'),
34 => array(null, null, -1, null, '^'),
35 => array(null, null, -1, null, '>'),
36 => array(null, null, -1, 0, '<'),
37 => array(null, null, -1, 0, '!'),
38 => array(null, null, -1, 0, '^'),
39 => array(null, null, -1, 0, '>'),
40 => array(null, null, -1, -1, '<'),
41 => array(null, null, -1, -1, '!'),
42 => array(null, null, -1, -1, '^'),
43 => array(null, null, -1, -1, '>'),
44 => array(null, null, -1, 1, '<'),
45 => array(null, null, -1, 1, '!'),
46 => array(null, null, -1, 1, '^'),
47 => array(null, null, -1, 1, '>'),
48 => array(null, null, 1, null, '<'),
49 => array(null, null, 1, null, '!'),
50 => array(null, null, 1, null, '^'),
51 => array(null, null, 1, null, '>'),
52 => array(null, null, 1, 0, '<'),
53 => array(null, null, 1, 0, '!'),
54 => array(null, null, 1, 0, '^'),
55 => array(null, null, 1, 0, '>'),
56 => array(null, null, 1, -1, '<'),
57 => array(null, null, 1, -1, '!'),
58 => array(null, null, 1, -1, '^'),
59 => array(null, null, 1, -1, '>'),
60 => array(null, null, 1, 1, '<'),
61 => array(null, null, 1, 1, '!'),
62 => array(null, null, 1, 1, '^'),
63 => array(null, null, 1, 1, '>'),
64 => array(null, 0, null, null, null),
65 => array(null, 0, null, null, '<'),
66 => array(null, 0, null, null, '!'),
67 => array(null, 0, null, null, '^'),
68 => array(null, 0, null, null, '>'),
69 => array(null, 0, null, 0, null),
70 => array(null, 0, null, 0, '<'),
71 => array(null, 0, null, 0, '!'),
72 => array(null, 0, null, 0, '^'),
73 => array(null, 0, null, 0, '>'),
74 => array(null, 0, null, -1, null),
75 => array(null, 0, null, -1, '<'),
76 => array(null, 0, null, -1, '!'),
77 => array(null, 0, null, -1, '^'),
78 => array(null, 0, null, -1, '>'),
79 => array(null, 0, null, 1, null),
80 => array(null, 0, null, 1, '<'),
81 => array(null, 0, null, 1, '!'),
82 => array(null, 0, null, 1, '^'),
83 => array(null, 0, null, 1, '>'),
84 => array(null, 0, 0, null, null),
85 => array(null, 0, 0, null, '<'),
86 => array(null, 0, 0, null, '!'),
87 => array(null, 0, 0, null, '^'),
88 => array(null, 0, 0, null, '>'),
89 => array(null, 0, 0, 0, null),
90 => array(null, 0, 0, 0, '<'),
91 => array(null, 0, 0, 0, '!'),
92 => array(null, 0, 0, 0, '^'),
93 => array(null, 0, 0, 0, '>'),
94 => array(null, 0, 0, -1, null),
95 => array(null, 0, 0, -1, '<'),
96 => array(null, 0, 0, -1, '!'),
97 => array(null, 0, 0, -1, '^'),
98 => array(null, 0, 0, -1, '>'),
99 => array(null, 0, 0, 1, null),
100 => array(null, 0, 0, 1, '<'),
101 => array(null, 0, 0, 1, '!'),
102 => array(null, 0, 0, 1, '^'),
103 => array(null, 0, 0, 1, '>'),
104 => array(null, 0, -1, null, null),
105 => array(null, 0, -1, null, '<'),
106 => array(null, 0, -1, null, '!'),
107 => array(null, 0, -1, null, '^'),
108 => array(null, 0, -1, null, '>'),
109 => array(null, 0, -1, 0, null),
110 => array(null, 0, -1, 0, '<'),
111 => array(null, 0, -1, 0, '!'),
112 => array(null, 0, -1, 0, '^'),
113 => array(null, 0, -1, 0, '>'),
114 => array(null, 0, -1, -1, null),
115 => array(null, 0, -1, -1, '<'),
116 => array(null, 0, -1, -1, '!'),
117 => array(null, 0, -1, -1, '^'),
118 => array(null, 0, -1, -1, '>'),
119 => array(null, 0, -1, 1, null),
120 => array(null, 0, -1, 1, '<'),
121 => array(null, 0, -1, 1, '!'),
122 => array(null, 0, -1, 1, '^'),
123 => array(null, 0, -1, 1, '>'),
124 => array(null, 0, 1, null, null),
125 => array(null, 0, 1, null, '<'),
126 => array(null, 0, 1, null, '!'),
127 => array(null, 0, 1, null, '^'),
128 => array(null, 0, 1, null, '>'),
129 => array(null, 0, 1, 0, null),
130 => array(null, 0, 1, 0, '<'),
131 => array(null, 0, 1, 0, '!'),
132 => array(null, 0, 1, 0, '^'),
133 => array(null, 0, 1, 0, '>'),
134 => array(null, 0, 1, -1, null),
135 => array(null, 0, 1, -1, '<'),
136 => array(null, 0, 1, -1, '!'),
137 => array(null, 0, 1, -1, '^'),
138 => array(null, 0, 1, -1, '>'),
139 => array(null, 0, 1, 1, null),
140 => array(null, 0, 1, 1, '<'),
141 => array(null, 0, 1, 1, '!'),
142 => array(null, 0, 1, 1, '^'),
143 => array(null, 0, 1, 1, '>'),
144 => array(0, null, null, null, null),
145 => array(0, null, null, null, '<'),
146 => array(0, null, null, null, '!'),
147 => array(0, null, null, null, '^'),
148 => array(0, null, null, null, '>'),
149 => array(0, null, null, 0, null),
150 => array(0, null, null, 0, '<'),
151 => array(0, null, null, 0, '!'),
152 => array(0, null, null, 0, '^'),
153 => array(0, null, null, 0, '>'),
154 => array(0, null, null, -1, null),
155 => array(0, null, null, -1, '<'),
156 => array(0, null, null, -1, '!'),
157 => array(0, null, null, -1, '^'),
158 => array(0, null, null, -1, '>'),
159 => array(0, null, null, 1, null),
160 => array(0, null, null, 1, '<'),
161 => array(0, null, null, 1, '!'),
162 => array(0, null, null, 1, '^'),
163 => array(0, null, null, 1, '>'),
164 => array(0, null, 0, null, null),
165 => array(0, null, 0, null, '<'),
166 => array(0, null, 0, null, '!'),
167 => array(0, null, 0, null, '^'),
168 => array(0, null, 0, null, '>'),
169 => array(0, null, 0, 0, null),
170 => array(0, null, 0, 0, '<'),
171 => array(0, null, 0, 0, '!'),
172 => array(0, null, 0, 0, '^'),
173 => array(0, null, 0, 0, '>'),
174 => array(0, null, 0, -1, null),
175 => array(0, null, 0, -1, '<'),
176 => array(0, null, 0, -1, '!'),
177 => array(0, null, 0, -1, '^'),
178 => array(0, null, 0, -1, '>'),
179 => array(0, null, 0, 1, null),
180 => array(0, null, 0, 1, '<'),
181 => array(0, null, 0, 1, '!'),
182 => array(0, null, 0, 1, '^'),
183 => array(0, null, 0, 1, '>'),
184 => array(0, null, -1, null, null),
185 => array(0, null, -1, null, '<'),
186 => array(0, null, -1, null, '!'),
187 => array(0, null, -1, null, '^'),
188 => array(0, null, -1, null, '>'),
189 => array(0, null, -1, 0, null),
190 => array(0, null, -1, 0, '<'),
191 => array(0, null, -1, 0, '!'),
192 => array(0, null, -1, 0, '^'),
193 => array(0, null, -1, 0, '>'),
194 => array(0, null, -1, -1, null),
195 => array(0, null, -1, -1, '<'),
196 => array(0, null, -1, -1, '!'),
197 => array(0, null, -1, -1, '^'),
198 => array(0, null, -1, -1, '>'),
199 => array(0, null, -1, 1, null),
200 => array(0, null, -1, 1, '<'),
201 => array(0, null, -1, 1, '!'),
202 => array(0, null, -1, 1, '^'),
203 => array(0, null, -1, 1, '>'),
204 => array(0, null, 1, null, null),
205 => array(0, null, 1, null, '<'),
206 => array(0, null, 1, null, '!'),
207 => array(0, null, 1, null, '^'),
208 => array(0, null, 1, null, '>'),
209 => array(0, null, 1, 0, null),
210 => array(0, null, 1, 0, '<'),
211 => array(0, null, 1, 0, '!'),
212 => array(0, null, 1, 0, '^'),
213 => array(0, null, 1, 0, '>'),
214 => array(0, null, 1, -1, null),
215 => array(0, null, 1, -1, '<'),
216 => array(0, null, 1, -1, '!'),
217 => array(0, null, 1, -1, '^'),
218 => array(0, null, 1, -1, '>'),
219 => array(0, null, 1, 1, null),
220 => array(0, null, 1, 1, '<'),
221 => array(0, null, 1, 1, '!'),
222 => array(0, null, 1, 1, '^'),
223 => array(0, null, 1, 1, '>'),
224 => array(0, 0, null, null, null),
225 => array(0, 0, null, null, '<'),
226 => array(0, 0, null, null, '!'),
227 => array(0, 0, null, null, '^'),
228 => array(0, 0, null, null, '>'),
229 => array(0, 0, null, 0, null),
230 => array(0, 0, null, 0, '<'),
231 => array(0, 0, null, 0, '!'),
232 => array(0, 0, null, 0, '^'),
233 => array(0, 0, null, 0, '>'),
234 => array(0, 0, null, -1, null),
235 => array(0, 0, null, -1, '<'),
236 => array(0, 0, null, -1, '!'),
237 => array(0, 0, null, -1, '^'),
238 => array(0, 0, null, -1, '>'),
239 => array(0, 0, null, 1, null),
240 => array(0, 0, null, 1, '<'),
241 => array(0, 0, null, 1, '!'),
242 => array(0, 0, null, 1, '^'),
243 => array(0, 0, null, 1, '>'),
244 => array(0, 0, 0, null, null),
245 => array(0, 0, 0, null, '<'),
246 => array(0, 0, 0, null, '!'),
247 => array(0, 0, 0, null, '^'),
248 => array(0, 0, 0, null, '>'),
249 => array(0, 0, 0, 0, null),
250 => array(0, 0, 0, 0, '<'),
251 => array(0, 0, 0, 0, '!'),
252 => array(0, 0, 0, 0, '^'),
253 => array(0, 0, 0, 0, '>'),
254 => array(0, 0, 0, -1, null),
255 => array(0, 0, 0, -1, '<'),
256 => array(0, 0, 0, -1, '!'),
257 => array(0, 0, 0, -1, '^'),
258 => array(0, 0, 0, -1, '>'),
259 => array(0, 0, 0, 1, null),
260 => array(0, 0, 0, 1, '<'),
261 => array(0, 0, 0, 1, '!'),
262 => array(0, 0, 0, 1, '^'),
263 => array(0, 0, 0, 1, '>'),
264 => array(0, 0, -1, null, null),
265 => array(0, 0, -1, null, '<'),
266 => array(0, 0, -1, null, '!'),
267 => array(0, 0, -1, null, '^'),
268 => array(0, 0, -1, null, '>'),
269 => array(0, 0, -1, 0, null),
270 => array(0, 0, -1, 0, '<'),
271 => array(0, 0, -1, 0, '!'),
272 => array(0, 0, -1, 0, '^'),
273 => array(0, 0, -1, 0, '>'),
274 => array(0, 0, -1, -1, null),
275 => array(0, 0, -1, -1, '<'),
276 => array(0, 0, -1, -1, '!'),
277 => array(0, 0, -1, -1, '^'),
278 => array(0, 0, -1, -1, '>'),
279 => array(0, 0, -1, 1, null),
280 => array(0, 0, -1, 1, '<'),
281 => array(0, 0, -1, 1, '!'),
282 => array(0, 0, -1, 1, '^'),
283 => array(0, 0, -1, 1, '>'),
284 => array(0, 0, 1, null, null),
285 => array(0, 0, 1, null, '<'),
286 => array(0, 0, 1, null, '!'),
287 => array(0, 0, 1, null, '^'),
288 => array(0, 0, 1, null, '>'),
289 => array(0, 0, 1, 0, null),
290 => array(0, 0, 1, 0, '<'),
291 => array(0, 0, 1, 0, '!'),
292 => array(0, 0, 1, 0, '^'),
293 => array(0, 0, 1, 0, '>'),
294 => array(0, 0, 1, -1, null),
295 => array(0, 0, 1, -1, '<'),
296 => array(0, 0, 1, -1, '!'),
297 => array(0, 0, 1, -1, '^'),
298 => array(0, 0, 1, -1, '>'),
299 => array(0, 0, 1, 1, null),
300 => array(0, 0, 1, 1, '<'),
301 => array(0, 0, 1, 1, '!'),
302 => array(0, 0, 1, 1, '^'),
303 => array(0, 0, 1, 1, '>'),
304 => array(0, 100, null, null, null),
305 => array(0, 100, null, null, '<'),
306 => array(0, 100, null, null, '!'),
307 => array(0, 100, null, null, '^'),
308 => array(0, 100, null, null, '>'),
309 => array(0, 100, null, 0, null),
310 => array(0, 100, null, 0, '<'),
311 => array(0, 100, null, 0, '!'),
312 => array(0, 100, null, 0, '^'),
313 => array(0, 100, null, 0, '>'),
314 => array(0, 100, null, -1, null),
315 => array(0, 100, null, -1, '<'),
316 => array(0, 100, null, -1, '!'),
317 => array(0, 100, null, -1, '^'),
318 => array(0, 100, null, -1, '>'),
319 => array(0, 100, null, 1, null),
320 => array(0, 100, null, 1, '<'),
321 => array(0, 100, null, 1, '!'),
322 => array(0, 100, null, 1, '^'),
323 => array(0, 100, null, 1, '>'),
324 => array(0, 100, 0, null, null),
325 => array(0, 100, 0, null, '<'),
326 => array(0, 100, 0, null, '!'),
327 => array(0, 100, 0, null, '^'),
328 => array(0, 100, 0, null, '>'),
329 => array(0, 100, 0, 0, null),
330 => array(0, 100, 0, 0, '<'),
331 => array(0, 100, 0, 0, '!'),
332 => array(0, 100, 0, 0, '^'),
333 => array(0, 100, 0, 0, '>'),
334 => array(0, 100, 0, -1, null),
335 => array(0, 100, 0, -1, '<'),
336 => array(0, 100, 0, -1, '!'),
337 => array(0, 100, 0, -1, '^'),
338 => array(0, 100, 0, -1, '>'),
339 => array(0, 100, 0, 1, null),
340 => array(0, 100, 0, 1, '<'),
341 => array(0, 100, 0, 1, '!'),
342 => array(0, 100, 0, 1, '^'),
343 => array(0, 100, 0, 1, '>'),
344 => array(0, 100, -1, null, null),
345 => array(0, 100, -1, null, '<'),
346 => array(0, 100, -1, null, '!'),
347 => array(0, 100, -1, null, '^'),
348 => array(0, 100, -1, null, '>'),
349 => array(0, 100, -1, 0, null),
350 => array(0, 100, -1, 0, '<'),
351 => array(0, 100, -1, 0, '!'),
352 => array(0, 100, -1, 0, '^'),
353 => array(0, 100, -1, 0, '>'),
354 => array(0, 100, -1, -1, null),
355 => array(0, 100, -1, -1, '<'),
356 => array(0, 100, -1, -1, '!'),
357 => array(0, 100, -1, -1, '^'),
358 => array(0, 100, -1, -1, '>'),
359 => array(0, 100, -1, 1, null),
360 => array(0, 100, -1, 1, '<'),
361 => array(0, 100, -1, 1, '!'),
362 => array(0, 100, -1, 1, '^'),
363 => array(0, 100, -1, 1, '>'),
364 => array(0, 100, 1, null, null),
365 => array(0, 100, 1, null, '<'),
366 => array(0, 100, 1, null, '!'),
367 => array(0, 100, 1, null, '^'),
368 => array(0, 100, 1, null, '>'),
369 => array(0, 100, 1, 0, null),
370 => array(0, 100, 1, 0, '<'),
371 => array(0, 100, 1, 0, '!'),
372 => array(0, 100, 1, 0, '^'),
373 => array(0, 100, 1, 0, '>'),
374 => array(0, 100, 1, -1, null),
375 => array(0, 100, 1, -1, '<'),
376 => array(0, 100, 1, -1, '!'),
377 => array(0, 100, 1, -1, '^'),
378 => array(0, 100, 1, -1, '>'),
379 => array(0, 100, 1, 1, null),
380 => array(0, 100, 1, 1, '<'),
381 => array(0, 100, 1, 1, '!'),
382 => array(0, 100, 1, 1, '^'),
383 => array(0, 100, 1, 1, '>'),
384 => array(100, 0, null, null, null),
385 => array(100, 0, null, null, '<'),
386 => array(100, 0, null, null, '!'),
387 => array(100, 0, null, null, '^'),
388 => array(100, 0, null, null, '>'),
389 => array(100, 0, null, 0, null),
390 => array(100, 0, null, 0, '<'),
391 => array(100, 0, null, 0, '!'),
392 => array(100, 0, null, 0, '^'),
393 => array(100, 0, null, 0, '>'),
394 => array(100, 0, null, -1, null),
395 => array(100, 0, null, -1, '<'),
396 => array(100, 0, null, -1, '!'),
397 => array(100, 0, null, -1, '^'),
398 => array(100, 0, null, -1, '>'),
399 => array(100, 0, null, 1, null),
400 => array(100, 0, null, 1, '<'),
401 => array(100, 0, null, 1, '!'),
402 => array(100, 0, null, 1, '^'),
403 => array(100, 0, null, 1, '>'),
404 => array(100, 0, 0, null, null),
405 => array(100, 0, 0, null, '<'),
406 => array(100, 0, 0, null, '!'),
407 => array(100, 0, 0, null, '^'),
408 => array(100, 0, 0, null, '>'),
409 => array(100, 0, 0, 0, null),
410 => array(100, 0, 0, 0, '<'),
411 => array(100, 0, 0, 0, '!'),
412 => array(100, 0, 0, 0, '^'),
413 => array(100, 0, 0, 0, '>'),
414 => array(100, 0, 0, -1, null),
415 => array(100, 0, 0, -1, '<'),
416 => array(100, 0, 0, -1, '!'),
417 => array(100, 0, 0, -1, '^'),
418 => array(100, 0, 0, -1, '>'),
419 => array(100, 0, 0, 1, null),
420 => array(100, 0, 0, 1, '<'),
421 => array(100, 0, 0, 1, '!'),
422 => array(100, 0, 0, 1, '^'),
423 => array(100, 0, 0, 1, '>'),
424 => array(100, 0, -1, null, null),
425 => array(100, 0, -1, null, '<'),
426 => array(100, 0, -1, null, '!'),
427 => array(100, 0, -1, null, '^'),
428 => array(100, 0, -1, null, '>'),
429 => array(100, 0, -1, 0, null),
430 => array(100, 0, -1, 0, '<'),
431 => array(100, 0, -1, 0, '!'),
432 => array(100, 0, -1, 0, '^'),
433 => array(100, 0, -1, 0, '>'),
434 => array(100, 0, -1, -1, null),
435 => array(100, 0, -1, -1, '<'),
436 => array(100, 0, -1, -1, '!'),
437 => array(100, 0, -1, -1, '^'),
438 => array(100, 0, -1, -1, '>'),
439 => array(100, 0, -1, 1, null),
440 => array(100, 0, -1, 1, '<'),
441 => array(100, 0, -1, 1, '!'),
442 => array(100, 0, -1, 1, '^'),
443 => array(100, 0, -1, 1, '>'),
444 => array(100, 0, 1, null, null),
445 => array(100, 0, 1, null, '<'),
446 => array(100, 0, 1, null, '!'),
447 => array(100, 0, 1, null, '^'),
448 => array(100, 0, 1, null, '>'),
449 => array(100, 0, 1, 0, null),
450 => array(100, 0, 1, 0, '<'),
451 => array(100, 0, 1, 0, '!'),
452 => array(100, 0, 1, 0, '^'),
453 => array(100, 0, 1, 0, '>'),
454 => array(100, 0, 1, -1, null),
455 => array(100, 0, 1, -1, '<'),
456 => array(100, 0, 1, -1, '!'),
457 => array(100, 0, 1, -1, '^'),
458 => array(100, 0, 1, -1, '>'),
459 => array(100, 0, 1, 1, null),
460 => array(100, 0, 1, 1, '<'),
461 => array(100, 0, 1, 1, '!'),
462 => array(100, 0, 1, 1, '^'),
463 => array(100, 0, 1, 1, '>'),
);
}
}