2 // Tests for System.Drawing.Color.cs
5 // Ravindra (rkumar@novell.com)
9 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 using System.Security.Permissions;
35 using NUnit.Framework;
37 namespace MonoTests.System.Drawing
40 [SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
41 public class ColorTest : Assertion
44 public void GetReady () { }
47 public void Clean () { }
50 public void TestArgbValues ()
54 color = Color.Transparent;
55 AssertEquals ("#Transparent.A", 0, color.A);
56 AssertEquals ("#Transparent.R", 255, color.R);
57 AssertEquals ("#Transparent.G", 255, color.G);
58 AssertEquals ("#Transparent.B", 255, color.B);
60 color = Color.AliceBlue;
61 AssertEquals ("#AliceBlue.A", 255, color.A);
62 AssertEquals ("#AliceBlue.R", 240, color.R);
63 AssertEquals ("#AliceBlue.G", 248, color.G);
64 AssertEquals ("#AliceBlue.B", 255, color.B);
66 color = Color.AntiqueWhite;
67 AssertEquals ("#AntiqueWhite.A", 255, color.A);
68 AssertEquals ("#AntiqueWhite.R", 250, color.R);
69 AssertEquals ("#AntiqueWhite.G", 235, color.G);
70 AssertEquals ("#AntiqueWhite.B", 215, color.B);
73 AssertEquals ("#Aqua.A", 255, color.A);
74 AssertEquals ("#Aqua.R", 0, color.R);
75 AssertEquals ("#Aqua.G", 255, color.G);
76 AssertEquals ("#Aqua.B", 255, color.B);
78 color = Color.Aquamarine;
79 AssertEquals ("#Aquamarine.A", 255, color.A);
80 AssertEquals ("#Aquamarine.R", 127, color.R);
81 AssertEquals ("#Aquamarine.G", 255, color.G);
82 AssertEquals ("#Aquamarine.B", 212, color.B);
85 AssertEquals ("#Azure.A", 255, color.A);
86 AssertEquals ("#Azure.R", 240, color.R);
87 AssertEquals ("#Azure.G", 255, color.G);
88 AssertEquals ("#Azure.B", 255, color.B);
91 AssertEquals ("#Beige.A", 255, color.A);
92 AssertEquals ("#Beige.R", 245, color.R);
93 AssertEquals ("#Beige.G", 245, color.G);
94 AssertEquals ("#Beige.B", 220, color.B);
97 AssertEquals ("#Bisque.A", 255, color.A);
98 AssertEquals ("#Bisque.R", 255, color.R);
99 AssertEquals ("#Bisque.G", 228, color.G);
100 AssertEquals ("#Bisque.B", 196, color.B);
103 AssertEquals ("#Black.A", 255, color.A);
104 AssertEquals ("#Black.R", 0, color.R);
105 AssertEquals ("#Black.G", 0, color.G);
106 AssertEquals ("#Black.B", 0, color.B);
108 color = Color.BlanchedAlmond;
109 AssertEquals ("#BlanchedAlmond.A", 255, color.A);
110 AssertEquals ("#BlanchedAlmond.R", 255, color.R);
111 AssertEquals ("#BlanchedAlmond.G", 235, color.G);
112 AssertEquals ("#BlanchedAlmond.B", 205, color.B);
115 AssertEquals ("#Blue.A", 255, color.A);
116 AssertEquals ("#Blue.R", 0, color.R);
117 AssertEquals ("#Blue.G", 0, color.G);
118 AssertEquals ("#Blue.B", 255, color.B);
120 color = Color.BlueViolet;
121 AssertEquals ("#BlueViolet.A", 255, color.A);
122 AssertEquals ("#BlueViolet.R", 138, color.R);
123 AssertEquals ("#BlueViolet.G", 43, color.G);
124 AssertEquals ("#BlueViolet.B", 226, color.B);
127 AssertEquals ("#Brown.A", 255, color.A);
128 AssertEquals ("#Brown.R", 165, color.R);
129 AssertEquals ("#Brown.G", 42, color.G);
130 AssertEquals ("#Brown.B", 42, color.B);
132 color = Color.BurlyWood;
133 AssertEquals ("#BurlyWood.A", 255, color.A);
134 AssertEquals ("#BurlyWood.R", 222, color.R);
135 AssertEquals ("#BurlyWood.G", 184, color.G);
136 AssertEquals ("#BurlyWood.B", 135, color.B);
138 color = Color.CadetBlue;
139 AssertEquals ("#CadetBlue.A", 255, color.A);
140 AssertEquals ("#CadetBlue.R", 95, color.R);
141 AssertEquals ("#CadetBlue.G", 158, color.G);
142 AssertEquals ("#CadetBlue.B", 160, color.B);
144 color = Color.Chartreuse;
145 AssertEquals ("#Chartreuse.A", 255, color.A);
146 AssertEquals ("#Chartreuse.R", 127, color.R);
147 AssertEquals ("#Chartreuse.G", 255, color.G);
148 AssertEquals ("#Chartreuse.B", 0, color.B);
150 color = Color.Chocolate;
151 AssertEquals ("#Chocolate.A", 255, color.A);
152 AssertEquals ("#Chocolate.R", 210, color.R);
153 AssertEquals ("#Chocolate.G", 105, color.G);
154 AssertEquals ("#Chocolate.B", 30, color.B);
157 AssertEquals ("#Coral.A", 255, color.A);
158 AssertEquals ("#Coral.R", 255, color.R);
159 AssertEquals ("#Coral.G", 127, color.G);
160 AssertEquals ("#Coral.B", 80, color.B);
162 color = Color.CornflowerBlue;
163 AssertEquals ("#CornflowerBlue.A", 255, color.A);
164 AssertEquals ("#CornflowerBlue.R", 100, color.R);
165 AssertEquals ("#CornflowerBlue.G", 149, color.G);
166 AssertEquals ("#CornflowerBlue.B", 237, color.B);
168 color = Color.Cornsilk;
169 AssertEquals ("#Cornsilk.A", 255, color.A);
170 AssertEquals ("#Cornsilk.R", 255, color.R);
171 AssertEquals ("#Cornsilk.G", 248, color.G);
172 AssertEquals ("#Cornsilk.B", 220, color.B);
174 color = Color.Crimson;
175 AssertEquals ("#Crimson.A", 255, color.A);
176 AssertEquals ("#Crimson.R", 220, color.R);
177 AssertEquals ("#Crimson.G", 20, color.G);
178 AssertEquals ("#Crimson.B", 60, color.B);
181 AssertEquals ("#Cyan.A", 255, color.A);
182 AssertEquals ("#Cyan.R", 0, color.R);
183 AssertEquals ("#Cyan.G", 255, color.G);
184 AssertEquals ("#Cyan.B", 255, color.B);
186 color = Color.DarkBlue;
187 AssertEquals ("#DarkBlue.A", 255, color.A);
188 AssertEquals ("#DarkBlue.R", 0, color.R);
189 AssertEquals ("#DarkBlue.G", 0, color.G);
190 AssertEquals ("#DarkBlue.B", 139, color.B);
192 color = Color.DarkCyan;
193 AssertEquals ("#DarkCyan.A", 255, color.A);
194 AssertEquals ("#DarkCyan.R", 0, color.R);
195 AssertEquals ("#DarkCyan.G", 139, color.G);
196 AssertEquals ("#DarkCyan.B", 139, color.B);
198 color = Color.DarkGoldenrod;
199 AssertEquals ("#DarkGoldenrod.A", 255, color.A);
200 AssertEquals ("#DarkGoldenrod.R", 184, color.R);
201 AssertEquals ("#DarkGoldenrod.G", 134, color.G);
202 AssertEquals ("#DarkGoldenrod.B", 11, color.B);
204 color = Color.DarkGray;
205 AssertEquals ("#DarkGray.A", 255, color.A);
206 AssertEquals ("#DarkGray.R", 169, color.R);
207 AssertEquals ("#DarkGray.G", 169, color.G);
208 AssertEquals ("#DarkGray.B", 169, color.B);
210 color = Color.DarkGreen;
211 AssertEquals ("#DarkGreen.A", 255, color.A);
212 AssertEquals ("#DarkGreen.R", 0, color.R);
213 AssertEquals ("#DarkGreen.G", 100, color.G);
214 AssertEquals ("#DarkGreen.B", 0, color.B);
216 color = Color.DarkKhaki;
217 AssertEquals ("#DarkKhaki.A", 255, color.A);
218 AssertEquals ("#DarkKhaki.R", 189, color.R);
219 AssertEquals ("#DarkKhaki.G", 183, color.G);
220 AssertEquals ("#DarkKhaki.B", 107, color.B);
222 color = Color.DarkMagenta;
223 AssertEquals ("#DarkMagenta.A", 255, color.A);
224 AssertEquals ("#DarkMagenta.R", 139, color.R);
225 AssertEquals ("#DarkMagenta.G", 0, color.G);
226 AssertEquals ("#DarkMagenta.B", 139, color.B);
228 color = Color.DarkOliveGreen;
229 AssertEquals ("#DarkOliveGreen.A", 255, color.A);
230 AssertEquals ("#DarkOliveGreen.R", 85, color.R);
231 AssertEquals ("#DarkOliveGreen.G", 107, color.G);
232 AssertEquals ("#DarkOliveGreen.B", 47, color.B);
234 color = Color.DarkOrange;
235 AssertEquals ("#DarkOrange.A", 255, color.A);
236 AssertEquals ("#DarkOrange.R", 255, color.R);
237 AssertEquals ("#DarkOrange.G", 140, color.G);
238 AssertEquals ("#DarkOrange.B", 0, color.B);
240 color = Color.DarkOrchid;
241 AssertEquals ("#DarkOrchid.A", 255, color.A);
242 AssertEquals ("#DarkOrchid.R", 153, color.R);
243 AssertEquals ("#DarkOrchid.G", 50, color.G);
244 AssertEquals ("#DarkOrchid.B", 204, color.B);
246 color = Color.DarkRed;
247 AssertEquals ("#DarkRed.A", 255, color.A);
248 AssertEquals ("#DarkRed.R", 139, color.R);
249 AssertEquals ("#DarkRed.G", 0, color.G);
250 AssertEquals ("#DarkRed.B", 0, color.B);
252 color = Color.DarkSalmon;
253 AssertEquals ("#DarkSalmon.A", 255, color.A);
254 AssertEquals ("#DarkSalmon.R", 233, color.R);
255 AssertEquals ("#DarkSalmon.G", 150, color.G);
256 AssertEquals ("#DarkSalmon.B", 122, color.B);
258 color = Color.DarkSeaGreen;
259 AssertEquals ("#DarkSeaGreen.A", 255, color.A);
260 AssertEquals ("#DarkSeaGreen.R", 143, color.R);
261 AssertEquals ("#DarkSeaGreen.G", 188, color.G);
262 AssertEquals ("#DarkSeaGreen.B", 139, color.B);
264 color = Color.DarkSlateBlue;
265 AssertEquals ("#DarkSlateBlue.A", 255, color.A);
266 AssertEquals ("#DarkSlateBlue.R", 72, color.R);
267 AssertEquals ("#DarkSlateBlue.G", 61, color.G);
268 AssertEquals ("#DarkSlateBlue.B", 139, color.B);
270 color = Color.DarkSlateGray;
271 AssertEquals ("#DarkSlateGray.A", 255, color.A);
272 AssertEquals ("#DarkSlateGray.R", 47, color.R);
273 AssertEquals ("#DarkSlateGray.G", 79, color.G);
274 AssertEquals ("#DarkSlateGray.B", 79, color.B);
276 color = Color.DarkTurquoise;
277 AssertEquals ("#DarkTurquoise.A", 255, color.A);
278 AssertEquals ("#DarkTurquoise.R", 0, color.R);
279 AssertEquals ("#DarkTurquoise.G", 206, color.G);
280 AssertEquals ("#DarkTurquoise.B", 209, color.B);
282 color = Color.DarkViolet;
283 AssertEquals ("#DarkViolet.A", 255, color.A);
284 AssertEquals ("#DarkViolet.R", 148, color.R);
285 AssertEquals ("#DarkViolet.G", 0, color.G);
286 AssertEquals ("#DarkViolet.B", 211, color.B);
288 color = Color.DeepPink;
289 AssertEquals ("#DeepPink.A", 255, color.A);
290 AssertEquals ("#DeepPink.R", 255, color.R);
291 AssertEquals ("#DeepPink.G", 20, color.G);
292 AssertEquals ("#DeepPink.B", 147, color.B);
294 color = Color.DeepSkyBlue;
295 AssertEquals ("#DeepSkyBlue.A", 255, color.A);
296 AssertEquals ("#DeepSkyBlue.R", 0, color.R);
297 AssertEquals ("#DeepSkyBlue.G", 191, color.G);
298 AssertEquals ("#DeepSkyBlue.B", 255, color.B);
300 color = Color.DimGray;
301 AssertEquals ("#DimGray.A", 255, color.A);
302 AssertEquals ("#DimGray.R", 105, color.R);
303 AssertEquals ("#DimGray.G", 105, color.G);
304 AssertEquals ("#DimGray.B", 105, color.B);
306 color = Color.DodgerBlue;
307 AssertEquals ("#DodgerBlue.A", 255, color.A);
308 AssertEquals ("#DodgerBlue.R", 30, color.R);
309 AssertEquals ("#DodgerBlue.G", 144, color.G);
310 AssertEquals ("#DodgerBlue.B", 255, color.B);
312 color = Color.Firebrick;
313 AssertEquals ("#Firebrick.A", 255, color.A);
314 AssertEquals ("#Firebrick.R", 178, color.R);
315 AssertEquals ("#Firebrick.G", 34, color.G);
316 AssertEquals ("#Firebrick.B", 34, color.B);
318 color = Color.FloralWhite;
319 AssertEquals ("#FloralWhite.A", 255, color.A);
320 AssertEquals ("#FloralWhite.R", 255, color.R);
321 AssertEquals ("#FloralWhite.G", 250, color.G);
322 AssertEquals ("#FloralWhite.B", 240, color.B);
324 color = Color.ForestGreen;
325 AssertEquals ("#ForestGreen.A", 255, color.A);
326 AssertEquals ("#ForestGreen.R", 34, color.R);
327 AssertEquals ("#ForestGreen.G", 139, color.G);
328 AssertEquals ("#ForestGreen.B", 34, color.B);
330 color = Color.Fuchsia;
331 AssertEquals ("#Fuchsia.A", 255, color.A);
332 AssertEquals ("#Fuchsia.R", 255, color.R);
333 AssertEquals ("#Fuchsia.G", 0, color.G);
334 AssertEquals ("#Fuchsia.B", 255, color.B);
336 color = Color.Gainsboro;
337 AssertEquals ("#Gainsboro.A", 255, color.A);
338 AssertEquals ("#Gainsboro.R", 220, color.R);
339 AssertEquals ("#Gainsboro.G", 220, color.G);
340 AssertEquals ("#Gainsboro.B", 220, color.B);
342 color = Color.GhostWhite;
343 AssertEquals ("#GhostWhite.A", 255, color.A);
344 AssertEquals ("#GhostWhite.R", 248, color.R);
345 AssertEquals ("#GhostWhite.G", 248, color.G);
346 AssertEquals ("#GhostWhite.B", 255, color.B);
349 AssertEquals ("#Gold.A", 255, color.A);
350 AssertEquals ("#Gold.R", 255, color.R);
351 AssertEquals ("#Gold.G", 215, color.G);
352 AssertEquals ("#Gold.B", 0, color.B);
354 color = Color.Goldenrod;
355 AssertEquals ("#Goldenrod.A", 255, color.A);
356 AssertEquals ("#Goldenrod.R", 218, color.R);
357 AssertEquals ("#Goldenrod.G", 165, color.G);
358 AssertEquals ("#Goldenrod.B", 32, color.B);
361 AssertEquals ("#Gray.A", 255, color.A);
362 AssertEquals ("#Gray.R", 128, color.R);
363 AssertEquals ("#Gray.G", 128, color.G);
364 AssertEquals ("#Gray.B", 128, color.B);
367 AssertEquals ("#Green.A", 255, color.A);
368 AssertEquals ("#Green.R", 0, color.R);
369 // This test should compare Green.G with 255, but
370 // MS is using a value of 128 for Green.G
371 AssertEquals ("#Green.G", 128, color.G);
372 AssertEquals ("#Green.B", 0, color.B);
374 color = Color.GreenYellow;
375 AssertEquals ("#GreenYellow.A", 255, color.A);
376 AssertEquals ("#GreenYellow.R", 173, color.R);
377 AssertEquals ("#GreenYellow.G", 255, color.G);
378 AssertEquals ("#GreenYellow.B", 47, color.B);
380 color = Color.Honeydew;
381 AssertEquals ("#Honeydew.A", 255, color.A);
382 AssertEquals ("#Honeydew.R", 240, color.R);
383 AssertEquals ("#Honeydew.G", 255, color.G);
384 AssertEquals ("#Honeydew.B", 240, color.B);
386 color = Color.HotPink;
387 AssertEquals ("#HotPink.A", 255, color.A);
388 AssertEquals ("#HotPink.R", 255, color.R);
389 AssertEquals ("#HotPink.G", 105, color.G);
390 AssertEquals ("#HotPink.B", 180, color.B);
392 color = Color.IndianRed;
393 AssertEquals ("#IndianRed.A", 255, color.A);
394 AssertEquals ("#IndianRed.R", 205, color.R);
395 AssertEquals ("#IndianRed.G", 92, color.G);
396 AssertEquals ("#IndianRed.B", 92, color.B);
398 color = Color.Indigo;
399 AssertEquals ("#Indigo.A", 255, color.A);
400 AssertEquals ("#Indigo.R", 75, color.R);
401 AssertEquals ("#Indigo.G", 0, color.G);
402 AssertEquals ("#Indigo.B", 130, color.B);
405 AssertEquals ("#Ivory.A", 255, color.A);
406 AssertEquals ("#Ivory.R", 255, color.R);
407 AssertEquals ("#Ivory.G", 255, color.G);
408 AssertEquals ("#Ivory.B", 240, color.B);
411 AssertEquals ("#Khaki.A", 255, color.A);
412 AssertEquals ("#Khaki.R", 240, color.R);
413 AssertEquals ("#Khaki.G", 230, color.G);
414 AssertEquals ("#Khaki.B", 140, color.B);
416 color = Color.Lavender;
417 AssertEquals ("#Lavender.A", 255, color.A);
418 AssertEquals ("#Lavender.R", 230, color.R);
419 AssertEquals ("#Lavender.G", 230, color.G);
420 AssertEquals ("#Lavender.B", 250, color.B);
422 color = Color.LavenderBlush;
423 AssertEquals ("#LavenderBlush.A", 255, color.A);
424 AssertEquals ("#LavenderBlush.R", 255, color.R);
425 AssertEquals ("#LavenderBlush.G", 240, color.G);
426 AssertEquals ("#LavenderBlush.B", 245, color.B);
428 color = Color.LawnGreen;
429 AssertEquals ("#LawnGreen.A", 255, color.A);
430 AssertEquals ("#LawnGreen.R", 124, color.R);
431 AssertEquals ("#LawnGreen.G", 252, color.G);
432 AssertEquals ("#LawnGreen.B", 0, color.B);
434 color = Color.LemonChiffon;
435 AssertEquals ("#LemonChiffon.A", 255, color.A);
436 AssertEquals ("#LemonChiffon.R", 255, color.R);
437 AssertEquals ("#LemonChiffon.G", 250, color.G);
438 AssertEquals ("#LemonChiffon.B", 205, color.B);
440 color = Color.LightBlue;
441 AssertEquals ("#LightBlue.A", 255, color.A);
442 AssertEquals ("#LightBlue.R", 173, color.R);
443 AssertEquals ("#LightBlue.G", 216, color.G);
444 AssertEquals ("#LightBlue.B", 230, color.B);
446 color = Color.LightCoral;
447 AssertEquals ("#LightCoral.A", 255, color.A);
448 AssertEquals ("#LightCoral.R", 240, color.R);
449 AssertEquals ("#LightCoral.G", 128, color.G);
450 AssertEquals ("#LightCoral.B", 128, color.B);
452 color = Color.LightCyan;
453 AssertEquals ("#LightCyan.A", 255, color.A);
454 AssertEquals ("#LightCyan.R", 224, color.R);
455 AssertEquals ("#LightCyan.G", 255, color.G);
456 AssertEquals ("#LightCyan.B", 255, color.B);
458 color = Color.LightGoldenrodYellow;
459 AssertEquals ("#LightGoldenrodYellow.A", 255, color.A);
460 AssertEquals ("#LightGoldenrodYellow.R", 250, color.R);
461 AssertEquals ("#LightGoldenrodYellow.G", 250, color.G);
462 AssertEquals ("#LightGoldenrodYellow.B", 210, color.B);
464 color = Color.LightGreen;
465 AssertEquals ("#LightGreen.A", 255, color.A);
466 AssertEquals ("#LightGreen.R", 144, color.R);
467 AssertEquals ("#LightGreen.G", 238, color.G);
468 AssertEquals ("#LightGreen.B", 144, color.B);
470 color = Color.LightGray;
471 AssertEquals ("#LightGray.A", 255, color.A);
472 AssertEquals ("#LightGray.R", 211, color.R);
473 AssertEquals ("#LightGray.G", 211, color.G);
474 AssertEquals ("#LightGray.B", 211, color.B);
476 color = Color.LightPink;
477 AssertEquals ("#LightPink.A", 255, color.A);
478 AssertEquals ("#LightPink.R", 255, color.R);
479 AssertEquals ("#LightPink.G", 182, color.G);
480 AssertEquals ("#LightPink.B", 193, color.B);
482 color = Color.LightSalmon;
483 AssertEquals ("#LightSalmon.A", 255, color.A);
484 AssertEquals ("#LightSalmon.R", 255, color.R);
485 AssertEquals ("#LightSalmon.G", 160, color.G);
486 AssertEquals ("#LightSalmon.B", 122, color.B);
488 color = Color.LightSeaGreen;
489 AssertEquals ("#LightSeaGreen.A", 255, color.A);
490 AssertEquals ("#LightSeaGreen.R", 32, color.R);
491 AssertEquals ("#LightSeaGreen.G", 178, color.G);
492 AssertEquals ("#LightSeaGreen.B", 170, color.B);
494 color = Color.LightSkyBlue;
495 AssertEquals ("#LightSkyBlue.A", 255, color.A);
496 AssertEquals ("#LightSkyBlue.R", 135, color.R);
497 AssertEquals ("#LightSkyBlue.G", 206, color.G);
498 AssertEquals ("#LightSkyBlue.B", 250, color.B);
500 color = Color.LightSlateGray;
501 AssertEquals ("#LightSlateGray.A", 255, color.A);
502 AssertEquals ("#LightSlateGray.R", 119, color.R);
503 AssertEquals ("#LightSlateGray.G", 136, color.G);
504 AssertEquals ("#LightSlateGray.B", 153, color.B);
506 color = Color.LightSteelBlue;
507 AssertEquals ("#LightSteelBlue.A", 255, color.A);
508 AssertEquals ("#LightSteelBlue.R", 176, color.R);
509 AssertEquals ("#LightSteelBlue.G", 196, color.G);
510 AssertEquals ("#LightSteelBlue.B", 222, color.B);
512 color = Color.LightYellow;
513 AssertEquals ("#LightYellow.A", 255, color.A);
514 AssertEquals ("#LightYellow.R", 255, color.R);
515 AssertEquals ("#LightYellow.G", 255, color.G);
516 AssertEquals ("#LightYellow.B", 224, color.B);
519 AssertEquals ("#Lime.A", 255, color.A);
520 AssertEquals ("#Lime.R", 0, color.R);
521 AssertEquals ("#Lime.G", 255, color.G);
522 AssertEquals ("#Lime.B", 0, color.B);
524 color = Color.LimeGreen;
525 AssertEquals ("#LimeGreen.A", 255, color.A);
526 AssertEquals ("#LimeGreen.R", 50, color.R);
527 AssertEquals ("#LimeGreen.G", 205, color.G);
528 AssertEquals ("#LimeGreen.B", 50, color.B);
531 AssertEquals ("#Linen.A", 255, color.A);
532 AssertEquals ("#Linen.R", 250, color.R);
533 AssertEquals ("#Linen.G", 240, color.G);
534 AssertEquals ("#Linen.B", 230, color.B);
536 color = Color.Magenta;
537 AssertEquals ("#Magenta.A", 255, color.A);
538 AssertEquals ("#Magenta.R", 255, color.R);
539 AssertEquals ("#Magenta.G", 0, color.G);
540 AssertEquals ("#Magenta.B", 255, color.B);
542 color = Color.Maroon;
543 AssertEquals ("#Maroon.A", 255, color.A);
544 AssertEquals ("#Maroon.R", 128, color.R);
545 AssertEquals ("#Maroon.G", 0, color.G);
546 AssertEquals ("#Maroon.B", 0, color.B);
548 color = Color.MediumAquamarine;
549 AssertEquals ("#MediumAquamarine.A", 255, color.A);
550 AssertEquals ("#MediumAquamarine.R", 102, color.R);
551 AssertEquals ("#MediumAquamarine.G", 205, color.G);
552 AssertEquals ("#MediumAquamarine.B", 170, color.B);
554 color = Color.MediumBlue;
555 AssertEquals ("#MediumBlue.A", 255, color.A);
556 AssertEquals ("#MediumBlue.R", 0, color.R);
557 AssertEquals ("#MediumBlue.G", 0, color.G);
558 AssertEquals ("#MediumBlue.B", 205, color.B);
560 color = Color.MediumOrchid;
561 AssertEquals ("#MediumOrchid.A", 255, color.A);
562 AssertEquals ("#MediumOrchid.R", 186, color.R);
563 AssertEquals ("#MediumOrchid.G", 85, color.G);
564 AssertEquals ("#MediumOrchid.B", 211, color.B);
566 color = Color.MediumPurple;
567 AssertEquals ("#MediumPurple.A", 255, color.A);
568 AssertEquals ("#MediumPurple.R", 147, color.R);
569 AssertEquals ("#MediumPurple.G", 112, color.G);
570 AssertEquals ("#MediumPurple.B", 219, color.B);
572 color = Color.MediumSeaGreen;
573 AssertEquals ("#MediumSeaGreen.A", 255, color.A);
574 AssertEquals ("#MediumSeaGreen.R", 60, color.R);
575 AssertEquals ("#MediumSeaGreen.G", 179, color.G);
576 AssertEquals ("#MediumSeaGreen.B", 113, color.B);
578 color = Color.MediumSlateBlue;
579 AssertEquals ("#MediumSlateBlue.A", 255, color.A);
580 AssertEquals ("#MediumSlateBlue.R", 123, color.R);
581 AssertEquals ("#MediumSlateBlue.G", 104, color.G);
582 AssertEquals ("#MediumSlateBlue.B", 238, color.B);
584 color = Color.MediumSpringGreen;
585 AssertEquals ("#MediumSpringGreen.A", 255, color.A);
586 AssertEquals ("#MediumSpringGreen.R", 0, color.R);
587 AssertEquals ("#MediumSpringGreen.G", 250, color.G);
588 AssertEquals ("#MediumSpringGreen.B", 154, color.B);
590 color = Color.MediumTurquoise;
591 AssertEquals ("#MediumTurquoise.A", 255, color.A);
592 AssertEquals ("#MediumTurquoise.R", 72, color.R);
593 AssertEquals ("#MediumTurquoise.G", 209, color.G);
594 AssertEquals ("#MediumTurquoise.B", 204, color.B);
596 color = Color.MediumVioletRed;
597 AssertEquals ("#MediumVioletRed.A", 255, color.A);
598 AssertEquals ("#MediumVioletRed.R", 199, color.R);
599 AssertEquals ("#MediumVioletRed.G", 21, color.G);
600 AssertEquals ("#MediumVioletRed.B", 133, color.B);
602 color = Color.MidnightBlue;
603 AssertEquals ("#MidnightBlue.A", 255, color.A);
604 AssertEquals ("#MidnightBlue.R", 25, color.R);
605 AssertEquals ("#MidnightBlue.G", 25, color.G);
606 AssertEquals ("#MidnightBlue.B", 112, color.B);
608 color = Color.MintCream;
609 AssertEquals ("#MintCream.A", 255, color.A);
610 AssertEquals ("#MintCream.R", 245, color.R);
611 AssertEquals ("#MintCream.G", 255, color.G);
612 AssertEquals ("#MintCream.B", 250, color.B);
614 color = Color.MistyRose;
615 AssertEquals ("#MistyRose.A", 255, color.A);
616 AssertEquals ("#MistyRose.R", 255, color.R);
617 AssertEquals ("#MistyRose.G", 228, color.G);
618 AssertEquals ("#MistyRose.B", 225, color.B);
620 color = Color.Moccasin;
621 AssertEquals ("#Moccasin.A", 255, color.A);
622 AssertEquals ("#Moccasin.R", 255, color.R);
623 AssertEquals ("#Moccasin.G", 228, color.G);
624 AssertEquals ("#Moccasin.B", 181, color.B);
626 color = Color.NavajoWhite;
627 AssertEquals ("#NavajoWhite.A", 255, color.A);
628 AssertEquals ("#NavajoWhite.R", 255, color.R);
629 AssertEquals ("#NavajoWhite.G", 222, color.G);
630 AssertEquals ("#NavajoWhite.B", 173, color.B);
633 AssertEquals ("#Navy.A", 255, color.A);
634 AssertEquals ("#Navy.R", 0, color.R);
635 AssertEquals ("#Navy.G", 0, color.G);
636 AssertEquals ("#Navy.B", 128, color.B);
638 color = Color.OldLace;
639 AssertEquals ("#OldLace.A", 255, color.A);
640 AssertEquals ("#OldLace.R", 253, color.R);
641 AssertEquals ("#OldLace.G", 245, color.G);
642 AssertEquals ("#OldLace.B", 230, color.B);
645 AssertEquals ("#Olive.A", 255, color.A);
646 AssertEquals ("#Olive.R", 128, color.R);
647 AssertEquals ("#Olive.G", 128, color.G);
648 AssertEquals ("#Olive.B", 0, color.B);
650 color = Color.OliveDrab;
651 AssertEquals ("#OliveDrab.A", 255, color.A);
652 AssertEquals ("#OliveDrab.R", 107, color.R);
653 AssertEquals ("#OliveDrab.G", 142, color.G);
654 AssertEquals ("#OliveDrab.B", 35, color.B);
656 color = Color.Orange;
657 AssertEquals ("#Orange.A", 255, color.A);
658 AssertEquals ("#Orange.R", 255, color.R);
659 AssertEquals ("#Orange.G", 165, color.G);
660 AssertEquals ("#Orange.B", 0, color.B);
662 color = Color.OrangeRed;
663 AssertEquals ("#OrangeRed.A", 255, color.A);
664 AssertEquals ("#OrangeRed.R", 255, color.R);
665 AssertEquals ("#OrangeRed.G", 69, color.G);
666 AssertEquals ("#OrangeRed.B", 0, color.B);
668 color = Color.Orchid;
669 AssertEquals ("#Orchid.A", 255, color.A);
670 AssertEquals ("#Orchid.R", 218, color.R);
671 AssertEquals ("#Orchid.G", 112, color.G);
672 AssertEquals ("#Orchid.B", 214, color.B);
674 color = Color.PaleGoldenrod;
675 AssertEquals ("#PaleGoldenrod.A", 255, color.A);
676 AssertEquals ("#PaleGoldenrod.R", 238, color.R);
677 AssertEquals ("#PaleGoldenrod.G", 232, color.G);
678 AssertEquals ("#PaleGoldenrod.B", 170, color.B);
680 color = Color.PaleGreen;
681 AssertEquals ("#PaleGreen.A", 255, color.A);
682 AssertEquals ("#PaleGreen.R", 152, color.R);
683 AssertEquals ("#PaleGreen.G", 251, color.G);
684 AssertEquals ("#PaleGreen.B", 152, color.B);
686 color = Color.PaleTurquoise;
687 AssertEquals ("#PaleTurquoise.A", 255, color.A);
688 AssertEquals ("#PaleTurquoise.R", 175, color.R);
689 AssertEquals ("#PaleTurquoise.G", 238, color.G);
690 AssertEquals ("#PaleTurquoise.B", 238, color.B);
692 color = Color.PaleVioletRed;
693 AssertEquals ("#PaleVioletRed.A", 255, color.A);
694 AssertEquals ("#PaleVioletRed.R", 219, color.R);
695 AssertEquals ("#PaleVioletRed.G", 112, color.G);
696 AssertEquals ("#PaleVioletRed.B", 147, color.B);
698 color = Color.PapayaWhip;
699 AssertEquals ("#PapayaWhip.A", 255, color.A);
700 AssertEquals ("#PapayaWhip.R", 255, color.R);
701 AssertEquals ("#PapayaWhip.G", 239, color.G);
702 AssertEquals ("#PapayaWhip.B", 213, color.B);
704 color = Color.PeachPuff;
705 AssertEquals ("#PeachPuff.A", 255, color.A);
706 AssertEquals ("#PeachPuff.R", 255, color.R);
707 AssertEquals ("#PeachPuff.G", 218, color.G);
708 AssertEquals ("#PeachPuff.B", 185, color.B);
711 AssertEquals ("#Peru.A", 255, color.A);
712 AssertEquals ("#Peru.R", 205, color.R);
713 AssertEquals ("#Peru.G", 133, color.G);
714 AssertEquals ("#Peru.B", 63, color.B);
717 AssertEquals ("#Pink.A", 255, color.A);
718 AssertEquals ("#Pink.R", 255, color.R);
719 AssertEquals ("#Pink.G", 192, color.G);
720 AssertEquals ("#Pink.B", 203, color.B);
723 AssertEquals ("#Plum.A", 255, color.A);
724 AssertEquals ("#Plum.R", 221, color.R);
725 AssertEquals ("#Plum.G", 160, color.G);
726 AssertEquals ("#Plum.B", 221, color.B);
728 color = Color.PowderBlue;
729 AssertEquals ("#PowderBlue.A", 255, color.A);
730 AssertEquals ("#PowderBlue.R", 176, color.R);
731 AssertEquals ("#PowderBlue.G", 224, color.G);
732 AssertEquals ("#PowderBlue.B", 230, color.B);
734 color = Color.Purple;
735 AssertEquals ("#Purple.A", 255, color.A);
736 AssertEquals ("#Purple.R", 128, color.R);
737 AssertEquals ("#Purple.G", 0, color.G);
738 AssertEquals ("#Purple.B", 128, color.B);
741 AssertEquals ("#Red.A", 255, color.A);
742 AssertEquals ("#Red.R", 255, color.R);
743 AssertEquals ("#Red.G", 0, color.G);
744 AssertEquals ("#Red.B", 0, color.B);
746 color = Color.RosyBrown;
747 AssertEquals ("#RosyBrown.A", 255, color.A);
748 AssertEquals ("#RosyBrown.R", 188, color.R);
749 AssertEquals ("#RosyBrown.G", 143, color.G);
750 AssertEquals ("#RosyBrown.B", 143, color.B);
752 color = Color.RoyalBlue;
753 AssertEquals ("#RoyalBlue.A", 255, color.A);
754 AssertEquals ("#RoyalBlue.R", 65, color.R);
755 AssertEquals ("#RoyalBlue.G", 105, color.G);
756 AssertEquals ("#RoyalBlue.B", 225, color.B);
758 color = Color.SaddleBrown;
759 AssertEquals ("#SaddleBrown.A", 255, color.A);
760 AssertEquals ("#SaddleBrown.R", 139, color.R);
761 AssertEquals ("#SaddleBrown.G", 69, color.G);
762 AssertEquals ("#SaddleBrown.B", 19, color.B);
764 color = Color.Salmon;
765 AssertEquals ("#Salmon.A", 255, color.A);
766 AssertEquals ("#Salmon.R", 250, color.R);
767 AssertEquals ("#Salmon.G", 128, color.G);
768 AssertEquals ("#Salmon.B", 114, color.B);
770 color = Color.SandyBrown;
771 AssertEquals ("#SandyBrown.A", 255, color.A);
772 AssertEquals ("#SandyBrown.R", 244, color.R);
773 AssertEquals ("#SandyBrown.G", 164, color.G);
774 AssertEquals ("#SandyBrown.B", 96, color.B);
776 color = Color.SeaGreen;
777 AssertEquals ("#SeaGreen.A", 255, color.A);
778 AssertEquals ("#SeaGreen.R", 46, color.R);
779 AssertEquals ("#SeaGreen.G", 139, color.G);
780 AssertEquals ("#SeaGreen.B", 87, color.B);
782 color = Color.SeaShell;
783 AssertEquals ("#SeaShell.A", 255, color.A);
784 AssertEquals ("#SeaShell.R", 255, color.R);
785 AssertEquals ("#SeaShell.G", 245, color.G);
786 AssertEquals ("#SeaShell.B", 238, color.B);
788 color = Color.Sienna;
789 AssertEquals ("#Sienna.A", 255, color.A);
790 AssertEquals ("#Sienna.R", 160, color.R);
791 AssertEquals ("#Sienna.G", 82, color.G);
792 AssertEquals ("#Sienna.B", 45, color.B);
794 color = Color.Silver;
795 AssertEquals ("#Silver.A", 255, color.A);
796 AssertEquals ("#Silver.R", 192, color.R);
797 AssertEquals ("#Silver.G", 192, color.G);
798 AssertEquals ("#Silver.B", 192, color.B);
800 color = Color.SkyBlue;
801 AssertEquals ("#SkyBlue.A", 255, color.A);
802 AssertEquals ("#SkyBlue.R", 135, color.R);
803 AssertEquals ("#SkyBlue.G", 206, color.G);
804 AssertEquals ("#SkyBlue.B", 235, color.B);
806 color = Color.SlateBlue;
807 AssertEquals ("#SlateBlue.A", 255, color.A);
808 AssertEquals ("#SlateBlue.R", 106, color.R);
809 AssertEquals ("#SlateBlue.G", 90, color.G);
810 AssertEquals ("#SlateBlue.B", 205, color.B);
812 color = Color.SlateGray;
813 AssertEquals ("#SlateGray.A", 255, color.A);
814 AssertEquals ("#SlateGray.R", 112, color.R);
815 AssertEquals ("#SlateGray.G", 128, color.G);
816 AssertEquals ("#SlateGray.B", 144, color.B);
819 AssertEquals ("#Snow.A", 255, color.A);
820 AssertEquals ("#Snow.R", 255, color.R);
821 AssertEquals ("#Snow.G", 250, color.G);
822 AssertEquals ("#Snow.B", 250, color.B);
824 color = Color.SpringGreen;
825 AssertEquals ("#SpringGreen.A", 255, color.A);
826 AssertEquals ("#SpringGreen.R", 0, color.R);
827 AssertEquals ("#SpringGreen.G", 255, color.G);
828 AssertEquals ("#SpringGreen.B", 127, color.B);
830 color = Color.SteelBlue;
831 AssertEquals ("#SteelBlue.A", 255, color.A);
832 AssertEquals ("#SteelBlue.R", 70, color.R);
833 AssertEquals ("#SteelBlue.G", 130, color.G);
834 AssertEquals ("#SteelBlue.B", 180, color.B);
837 AssertEquals ("#Tan.A", 255, color.A);
838 AssertEquals ("#Tan.R", 210, color.R);
839 AssertEquals ("#Tan.G", 180, color.G);
840 AssertEquals ("#Tan.B", 140, color.B);
843 AssertEquals ("#Teal.A", 255, color.A);
844 AssertEquals ("#Teal.R", 0, color.R);
845 AssertEquals ("#Teal.G", 128, color.G);
846 AssertEquals ("#Teal.B", 128, color.B);
848 color = Color.Thistle;
849 AssertEquals ("#Thistle.A", 255, color.A);
850 AssertEquals ("#Thistle.R", 216, color.R);
851 AssertEquals ("#Thistle.G", 191, color.G);
852 AssertEquals ("#Thistle.B", 216, color.B);
854 color = Color.Tomato;
855 AssertEquals ("#Tomato.A", 255, color.A);
856 AssertEquals ("#Tomato.R", 255, color.R);
857 AssertEquals ("#Tomato.G", 99, color.G);
858 AssertEquals ("#Tomato.B", 71, color.B);
860 color = Color.Turquoise;
861 AssertEquals ("#Turquoise.A", 255, color.A);
862 AssertEquals ("#Turquoise.R", 64, color.R);
863 AssertEquals ("#Turquoise.G", 224, color.G);
864 AssertEquals ("#Turquoise.B", 208, color.B);
866 color = Color.Violet;
867 AssertEquals ("#Violet.A", 255, color.A);
868 AssertEquals ("#Violet.R", 238, color.R);
869 AssertEquals ("#Violet.G", 130, color.G);
870 AssertEquals ("#Violet.B", 238, color.B);
873 AssertEquals ("#Wheat.A", 255, color.A);
874 AssertEquals ("#Wheat.R", 245, color.R);
875 AssertEquals ("#Wheat.G", 222, color.G);
876 AssertEquals ("#Wheat.B", 179, color.B);
879 AssertEquals ("#White.A", 255, color.A);
880 AssertEquals ("#White.R", 255, color.R);
881 AssertEquals ("#White.G", 255, color.G);
882 AssertEquals ("#White.B", 255, color.B);
884 color = Color.WhiteSmoke;
885 AssertEquals ("#WhiteSmoke.A", 255, color.A);
886 AssertEquals ("#WhiteSmoke.R", 245, color.R);
887 AssertEquals ("#WhiteSmoke.G", 245, color.G);
888 AssertEquals ("#WhiteSmoke.B", 245, color.B);
890 color = Color.Yellow;
891 AssertEquals ("#Yellow.A", 255, color.A);
892 AssertEquals ("#Yellow.R", 255, color.R);
893 AssertEquals ("#Yellow.G", 255, color.G);
894 AssertEquals ("#Yellow.B", 0, color.B);
896 color = Color.YellowGreen;
897 AssertEquals ("#YellowGreen.A", 255, color.A);
898 AssertEquals ("#YellowGreen.R", 154, color.R);
899 AssertEquals ("#YellowGreen.G", 205, color.G);
900 AssertEquals ("#YellowGreen.B", 50, color.B);
903 static bool FloatsAlmostEqual (float v1, float v2)
905 float error = Math.Abs(v1-v2)/(v1+v2+float.Epsilon);
906 return error < 0.0001;
910 public void TestHBSValues ()
912 AssertEquals ("BrightnessBlack", 0.0f, Color.Black.GetBrightness ());
913 AssertEquals ("BrightnessWhite", 1.0f, Color.White.GetBrightness ());
915 Color c1 = Color.FromArgb (0, 13, 45, 7); //just some random color
916 Assert ("Hue1", FloatsAlmostEqual (110.5263f, c1.GetHue ()));
917 Assert ("Brightness1", FloatsAlmostEqual (0.1019608f, c1.GetBrightness ()));
918 Assert ("Saturation1", FloatsAlmostEqual (0.7307692f, c1.GetSaturation ()));
920 Color c2 = Color.FromArgb (0, 112, 75, 29); //another random color
921 Assert ("Hue2", FloatsAlmostEqual (33.25302f, c2.GetHue ()));
922 Assert ("Brightness2", FloatsAlmostEqual (0.2764706f, c2.GetBrightness ()));
923 Assert ("Saturation2", FloatsAlmostEqual (0.5886525f, c2.GetSaturation ()));
926 public void TestEquals ()
928 Color color = Color.Red;
929 Color color1 = Color.FromArgb (color.R, color.G, color.B);
930 Assert ("Named color not == unnamed color", !(color==color1));
931 Assert ("Named color not equals unnamed color", !color.Equals (color1));
932 Assert ("Named color != unnamed color", color!=color1);
933 color = Color.FromArgb (0, color1);
934 Assert ("Alpha takes part in comparison", !color.Equals (color1));
937 public void TestIsEmpty ()
939 Color color = Color.Empty;
940 Assert ("Empty color", color.IsEmpty);
941 Assert ("Not empty color", !Color.FromArgb (0, Color.Black).IsEmpty);
944 public void IsKnownColor ()
946 Assert ("KnownColor", Color.FromKnownColor(KnownColor.AliceBlue).IsKnownColor);
947 Assert ("KnownColor", Color.FromName("AliceBlue").IsKnownColor);
948 AssertEquals ("Not KnownColor", false,
949 Color.FromArgb (50, 100, 150, 200).IsKnownColor);
952 public void IsNamedColor ()
954 Assert ("NamedColor", Color.AliceBlue.IsNamedColor);
955 Assert ("NamedColor", Color.FromKnownColor(KnownColor.AliceBlue).IsNamedColor);
956 Assert ("NamedColor", Color.FromName("AliceBlue").IsNamedColor);
957 AssertEquals ("Not NamedColor", false,
958 Color.FromArgb (50, 100, 150, 200).IsNamedColor);
961 public void IsSystemColor () {
962 Assert ("SystemColor#1", Color.FromKnownColor(KnownColor.ActiveBorder).IsSystemColor);
963 Assert ("SystemColor#2", Color.FromName("ActiveBorder").IsSystemColor);
964 AssertEquals ("Not SystemColor#1", false,
965 Color.FromArgb (50, 100, 150, 200).IsSystemColor);
966 AssertEquals ("Not SystemColor#2", false,
967 Color.FromKnownColor(KnownColor.AliceBlue).IsSystemColor);
968 AssertEquals ("Not SystemColor#3", false,
969 Color.FromName("AliceBlue").IsSystemColor);
974 AssertEquals ("Color.Name#1", "AliceBlue", Color.AliceBlue.Name);
975 AssertEquals ("Color.Name#2", "ActiveBorder",
976 Color.FromKnownColor (KnownColor.ActiveBorder).Name);
977 AssertEquals ("Color.Name#3", "1122ccff",
978 Color.FromArgb(0x11, 0x22, 0xcc, 0xff).Name);
981 public void GetHashCodeTest ()
983 Color c = Color.AliceBlue;
984 AssertEquals ("GHC#1", false, Color.FromArgb (c.A, c.R, c.G, c.B).GetHashCode () ==
986 AssertEquals ("GHC#2", c.GetHashCode (), Color.FromName ("AliceBlue").GetHashCode ());
989 public void ToArgb ()
991 AssertEquals (0x11cc8833, Color.FromArgb (0x11, 0xcc, 0x88, 0x33).ToArgb());
992 AssertEquals (unchecked((int)0xf1cc8833), Color.FromArgb (0xf1, 0xcc, 0x88, 0x33).ToArgb());
996 public void ToKnownColor ()
998 AssertEquals ("TKC#1", KnownColor.ActiveBorder, Color.FromName ("ActiveBorder").ToKnownColor ());
999 AssertEquals ("TKC#2", KnownColor.AliceBlue, Color.AliceBlue.ToKnownColor ());
1000 KnownColor zero = Color.FromArgb (1, 2, 3, 4).ToKnownColor ();
1001 AssertEquals ("TKC#3", (KnownColor)0, zero);
1005 public void ToStringTest ()
1007 AssertEquals ("TS#1", "Color [AliceBlue]", Color.AliceBlue.ToString ());
1008 AssertEquals ("TS#2", "Color [ActiveBorder]",
1009 Color.FromKnownColor (KnownColor.ActiveBorder).ToString ());
1010 AssertEquals ("TS#3", "Color [A=1, R=2, G=3, B=4]",
1011 Color.FromArgb(1, 2, 3, 4).ToString ());
1012 AssertEquals ("TS#4", "Color [Empty]", Color.Empty.ToString ());
1016 public void Equality ()
1018 Color c = Color.AliceBlue;
1019 Assert ("EQ#1", c == Color.FromName ("AliceBlue"));
1020 AssertEquals ("EQ#2", false, c == Color.FromArgb (c.A, c.R, c.G, c.B));
1021 Assert ("EQ#3", c.Equals (Color.FromName ("AliceBlue")));
1022 AssertEquals ("EQ#4", false, c.Equals(Color.FromArgb (c.A, c.R, c.G, c.B)));
1023 AssertEquals ("EQ#5", false, c != Color.FromName ("AliceBlue"));
1024 Assert("EQ#6", c != Color.FromArgb (c.A, c.R, c.G, c.B));
1028 [ExpectedException (typeof (ArgumentException))]
1029 public void FromArgb_InvalidAlpha1 ()
1031 Color.FromArgb (-1, Color.Red);
1035 [ExpectedException (typeof (ArgumentException))]
1036 public void FromArgb_InvalidAlpha2 ()
1038 Color.FromArgb (256, Color.Red);
1042 [ExpectedException (typeof (ArgumentException))]
1043 public void FromArgb_InvalidAlpha3 ()
1045 Color.FromArgb (-1, 0, 0, 0);
1049 [ExpectedException (typeof (ArgumentException))]
1050 public void FromArgb_InvalidAlpha4 ()
1052 Color.FromArgb (256, 0, 0, 0);
1056 [ExpectedException (typeof (ArgumentException))]
1057 public void FromArgb_InvalidRed1 ()
1059 Color.FromArgb (-1, 0, 0);
1063 [ExpectedException (typeof (ArgumentException))]
1064 public void FromArgb_InvalidRed2 ()
1066 Color.FromArgb (256, 0, 0);
1070 [ExpectedException (typeof (ArgumentException))]
1071 public void FromArgb_InvalidRed3 ()
1073 Color.FromArgb (0, -1, 0, 0);
1077 [ExpectedException (typeof (ArgumentException))]
1078 public void FromArgb_InvalidRed4 ()
1080 Color.FromArgb (0, 256, 0, 0);
1084 [ExpectedException (typeof (ArgumentException))]
1085 public void FromArgb_InvalidGreen1 ()
1087 Color.FromArgb (0, -1, 0);
1091 [ExpectedException (typeof (ArgumentException))]
1092 public void FromArgb_InvalidGreen2 ()
1094 Color.FromArgb (0, 256, 0);
1098 [ExpectedException (typeof (ArgumentException))]
1099 public void FromArgb_InvalidGreen3 ()
1101 Color.FromArgb (0, 0, -1, 0);
1105 [ExpectedException (typeof (ArgumentException))]
1106 public void FromArgb_InvalidGreen4 ()
1108 Color.FromArgb (0, 0, 256, 0);
1112 [ExpectedException (typeof (ArgumentException))]
1113 public void FromArgb_InvalidBlue1 ()
1115 Color.FromArgb (0, 0, -1);
1119 [ExpectedException (typeof (ArgumentException))]
1120 public void FromArgb_InvalidBlue2 ()
1122 Color.FromArgb (0, 0, 256);
1126 [ExpectedException (typeof (ArgumentException))]
1127 public void FromArgb_InvalidBlue3 ()
1129 Color.FromArgb (0, 0, 0, -1);
1133 [ExpectedException (typeof (ArgumentException))]
1134 public void FromArgb_InvalidBlue4 ()
1136 Color.FromArgb (0, 0, 0, 256);
1141 // Following code was used to generate the TestArgbValues method on MS.
1143 // Type cType = typeof (Color);
1144 // PropertyInfo [] properties = cType.GetProperties (BindingFlags.Public | BindingFlags.Static);
1145 //// Console.WriteLine ("number: " + properties.Length);
1147 // Console.WriteLine("\t\t[Test]");
1148 // Console.WriteLine("\t\tpublic void TestArgbValues ()");
1149 // Console.WriteLine("\t\t{");
1150 // Console.WriteLine("\t\t\tColor color;");
1151 // foreach (PropertyInfo property in properties) {
1153 // Console.WriteLine();
1154 // Console.WriteLine("\t\t\tcolor = Color.{0};", property.Name);
1155 // Color color = Color.FromName (property.Name);
1156 // Console.WriteLine("\t\t\tAssertEquals (\"#{0}.A\", {1}, color.A);", property.Name, color.A);
1157 // Console.WriteLine("\t\t\tAssertEquals (\"#{0}.R\", {1}, color.R);", property.Name, color.R);
1158 // Console.WriteLine("\t\t\tAssertEquals (\"#{0}.G\", {1}, color.G);", property.Name, color.G);
1159 // Console.WriteLine("\t\t\tAssertEquals (\"#{0}.B\", {1}, color.B);", property.Name, color.B);
1161 // Console.WriteLine("\t\t}");