@@ -19,18 +19,21 @@ public void Create_new_Color()
1919 Assert . Equal ( 25 , color . R ) ;
2020 Assert . Equal ( 25 , color . G ) ;
2121 Assert . Equal ( 25 , color . B ) ;
22+ Assert . False ( color . IsKnownColor ) ;
2223
2324 color = new Color ( "#800080" ) ;
2425 Assert . Equal ( 255 , color . A ) ;
2526 Assert . Equal ( 128 , color . R ) ;
2627 Assert . Equal ( 0 , color . G ) ;
2728 Assert . Equal ( 128 , color . B ) ;
29+ Assert . False ( color . IsKnownColor ) ;
2830
2931 color = new Color ( "#F0F" ) ;
3032 Assert . Equal ( 255 , color . A ) ;
3133 Assert . Equal ( 255 , color . R ) ;
3234 Assert . Equal ( 0 , color . G ) ;
3335 Assert . Equal ( 255 , color . B ) ;
36+ Assert . False ( color . IsKnownColor ) ;
3437
3538 InvalidOperationException ex = Assert . Throws < InvalidOperationException > ( ( ) => color = new Color ( "#F" ) ) ;
3639 Assert . Equal ( $ "#F is unable to convert to { typeof ( Color ) } because it requires a suitable length of string.", ex . Message ) ;
@@ -40,12 +43,14 @@ public void Create_new_Color()
4043 Assert . Equal ( 255 , color . R ) ;
4144 Assert . Equal ( 0 , color . G ) ;
4245 Assert . Equal ( 255 , color . B ) ;
46+ Assert . False ( color . IsKnownColor ) ;
4347
4448 color = new Color ( 255 , 0 , 255 ) ;
4549 Assert . Equal ( 255 , color . A ) ;
4650 Assert . Equal ( 255 , color . R ) ;
4751 Assert . Equal ( 0 , color . G ) ;
4852 Assert . Equal ( 255 , color . B ) ;
53+ Assert . False ( color . IsKnownColor ) ;
4954 }
5055
5156 [ FactWithAutomaticDisplayName ]
@@ -55,21 +60,25 @@ public void Create_correct_color_from_system_defined()
5560 Assert . Equal ( 154 , Color . YellowGreen . R ) ;
5661 Assert . Equal ( 205 , Color . YellowGreen . G ) ;
5762 Assert . Equal ( 50 , Color . YellowGreen . B ) ;
63+ Assert . True ( Color . YellowGreen . IsKnownColor ) ;
5864
5965 Assert . Equal ( 255 , Color . Violet . A ) ;
6066 Assert . Equal ( 238 , Color . Violet . R ) ;
6167 Assert . Equal ( 130 , Color . Violet . G ) ;
6268 Assert . Equal ( 238 , Color . Violet . B ) ;
69+ Assert . True ( Color . Violet . IsKnownColor ) ;
6370
6471 Assert . Equal ( 0 , Color . Transparent . A ) ;
6572 Assert . Equal ( 255 , Color . Transparent . R ) ;
6673 Assert . Equal ( 255 , Color . Transparent . G ) ;
6774 Assert . Equal ( 255 , Color . Transparent . B ) ;
75+ Assert . True ( Color . Transparent . IsKnownColor ) ;
6876
6977 Assert . Equal ( 255 , Color . Azure . A ) ;
7078 Assert . Equal ( 240 , Color . Azure . R ) ;
7179 Assert . Equal ( 255 , Color . Azure . G ) ;
7280 Assert . Equal ( 255 , Color . Azure . B ) ;
81+ Assert . True ( Color . Azure . IsKnownColor ) ;
7382 }
7483
7584 [ FactWithAutomaticDisplayName ]
@@ -82,6 +91,7 @@ public void Create_color_from_RGB()
8291 Assert . Equal ( 244 , color . G ) ;
8392 Assert . Equal ( 208 , color . B ) ;
8493 Assert . Equal ( "#FF40F4D0" , color . ToString ( ) ) ;
94+ Assert . False ( color . IsKnownColor ) ;
8595
8696 color = Color . FromArgb ( 0 , 64 , 244 , 208 ) ;
8797
@@ -90,7 +100,7 @@ public void Create_color_from_RGB()
90100 Assert . Equal ( 244 , color . G ) ;
91101 Assert . Equal ( 208 , color . B ) ;
92102 Assert . Equal ( "#0040F4D0" , color . ToString ( ) ) ;
93-
103+ Assert . False ( color . IsKnownColor ) ;
94104 }
95105
96106 [ FactWithAutomaticDisplayName ]
@@ -103,25 +113,30 @@ public void Create_color_from_ARGB()
103113 Assert . Equal ( 244 , color . G ) ;
104114 Assert . Equal ( 208 , color . B ) ;
105115 Assert . Equal ( "#6440F4D0" , color . ToString ( ) ) ;
116+ Assert . False ( color . IsKnownColor ) ;
106117
107118 var color1 = Color . FromArgb ( 50 , color ) ;
108119 Assert . Equal ( 50 , color1 . A ) ;
109120 Assert . Equal ( 64 , color1 . R ) ;
110121 Assert . Equal ( 244 , color1 . G ) ;
111122 Assert . Equal ( 208 , color1 . B ) ;
123+ Assert . False ( color . IsKnownColor ) ;
112124 }
113125
114126 [ FactWithAutomaticDisplayName ]
115127 public void Get_Luminance_from_color ( )
116128 {
117129 Color color = Color . Black ;
118130 Assert . Equal ( 0 , color . GetLuminance ( ) ) ;
131+ Assert . True ( color . IsKnownColor ) ;
119132
120133 color = Color . Gray ;
121134 Assert . Equal ( 50 , color . GetLuminance ( ) ) ;
135+ Assert . True ( color . IsKnownColor ) ;
122136
123137 color = Color . White ;
124138 Assert . Equal ( 100 , color . GetLuminance ( ) ) ;
139+ Assert . True ( color . IsKnownColor ) ;
125140 }
126141
127142 [ FactWithAutomaticDisplayName ]
@@ -133,20 +148,23 @@ public void Cast_System_Drawing_Color_from_Color()
133148 Assert . Equal ( 255 , red . R ) ;
134149 Assert . Equal ( 0 , red . G ) ;
135150 Assert . Equal ( 0 , red . B ) ;
151+ Assert . False ( red . IsKnownColor ) ;
136152
137153 drawingColor = System . Drawing . Color . FromArgb ( 255 , 0 , 255 , 0 ) ;
138154 Color green = drawingColor ;
139155 Assert . Equal ( 255 , green . A ) ;
140156 Assert . Equal ( 0 , green . R ) ;
141157 Assert . Equal ( 255 , green . G ) ;
142158 Assert . Equal ( 0 , green . B ) ;
159+ Assert . False ( green . IsKnownColor ) ;
143160
144161 drawingColor = System . Drawing . Color . FromArgb ( 0 , 0 , 255 ) ;
145162 Color blue = drawingColor ;
146163 Assert . Equal ( 255 , blue . A ) ;
147164 Assert . Equal ( 0 , blue . R ) ;
148165 Assert . Equal ( 0 , blue . G ) ;
149166 Assert . Equal ( 255 , blue . B ) ;
167+ Assert . False ( blue . IsKnownColor ) ;
150168
151169 int iColorCode = Convert . ToInt32 ( "1e81b0" , 16 ) ;
152170 drawingColor = System . Drawing . Color . FromArgb ( iColorCode ) ;
@@ -155,6 +173,7 @@ public void Cast_System_Drawing_Color_from_Color()
155173 Assert . Equal ( 30 , color . R ) ;
156174 Assert . Equal ( 129 , color . G ) ;
157175 Assert . Equal ( 176 , color . B ) ;
176+ Assert . False ( color . IsKnownColor ) ;
158177 }
159178
160179 [ FactWithAutomaticDisplayName ]
@@ -525,46 +544,69 @@ public void Should_Create_FromName()
525544 _ = color . R . Should ( ) . Be ( 255 ) ;
526545 _ = color . G . Should ( ) . Be ( 0 ) ;
527546 _ = color . B . Should ( ) . Be ( 0 ) ;
547+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
528548
529549 color = Color . FromName ( "green" ) ;
530550 _ = color . R . Should ( ) . Be ( 0 ) ;
531551 _ = color . G . Should ( ) . Be ( 128 ) ;
532552 _ = color . B . Should ( ) . Be ( 0 ) ;
553+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
533554
534555 color = Color . FromName ( "blue" ) ;
535556 _ = color . R . Should ( ) . Be ( 0 ) ;
536557 _ = color . G . Should ( ) . Be ( 0 ) ;
537558 _ = color . B . Should ( ) . Be ( 255 ) ;
559+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
538560
539561 color = Color . FromName ( "yellow" ) ;
540562 _ = color . R . Should ( ) . Be ( 255 ) ;
541563 _ = color . G . Should ( ) . Be ( 255 ) ;
542564 _ = color . B . Should ( ) . Be ( 0 ) ;
565+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
543566
544567 color = Color . FromName ( "pink" ) ;
545568 _ = color . R . Should ( ) . Be ( 255 ) ;
546569 _ = color . G . Should ( ) . Be ( 192 ) ;
547570 _ = color . B . Should ( ) . Be ( 203 ) ;
571+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
548572
549573 color = Color . FromName ( "brown" ) ;
550574 _ = color . R . Should ( ) . Be ( 165 ) ;
551575 _ = color . G . Should ( ) . Be ( 42 ) ;
552576 _ = color . B . Should ( ) . Be ( 42 ) ;
577+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
553578
554579 color = Color . FromName ( "gray" ) ;
555580 _ = color . R . Should ( ) . Be ( 128 ) ;
556581 _ = color . G . Should ( ) . Be ( 128 ) ;
557582 _ = color . B . Should ( ) . Be ( 128 ) ;
583+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
558584
559585 color = Color . FromName ( "black" ) ;
560586 _ = color . R . Should ( ) . Be ( 0 ) ;
561587 _ = color . G . Should ( ) . Be ( 0 ) ;
562588 _ = color . B . Should ( ) . Be ( 0 ) ;
589+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
563590
564591 color = Color . FromName ( "orange" ) ;
565592 _ = color . R . Should ( ) . Be ( 255 ) ;
566593 _ = color . G . Should ( ) . Be ( 165 ) ;
567594 _ = color . B . Should ( ) . Be ( 0 ) ;
595+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
596+
597+ color = Color . FromName ( "RebeccaPurple" ) ;
598+ _ = color . A . Should ( ) . Be ( 255 ) ;
599+ _ = color . R . Should ( ) . Be ( 102 ) ;
600+ _ = color . G . Should ( ) . Be ( 51 ) ;
601+ _ = color . B . Should ( ) . Be ( 153 ) ;
602+ _ = color . IsKnownColor . Should ( ) . BeTrue ( ) ;
603+
604+ color = Color . FromName ( "NotAColor" ) ;
605+ _ = color . A . Should ( ) . Be ( 0 ) ;
606+ _ = color . R . Should ( ) . Be ( 0 ) ;
607+ _ = color . G . Should ( ) . Be ( 0 ) ;
608+ _ = color . B . Should ( ) . Be ( 0 ) ;
609+ _ = color . IsKnownColor . Should ( ) . BeFalse ( ) ;
568610 }
569611
570612 [ FactWithAutomaticDisplayName ]
0 commit comments