Skip to content

Commit 42dfdf6

Browse files
Merge pull request #141 from iron-software/DW-35-Align-Color-FromName-With-SystemDrawing
DW-35: Align Color FromName with System.Drawing
2 parents 92121be + 85c2ec5 commit 42dfdf6

File tree

5 files changed

+352
-225
lines changed

5 files changed

+352
-225
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ ipch/
116116
# Visual Studio Trace Files
117117
*.e2e
118118

119+
# JetBrains IDE settings (e.g., IntelliJ, Rider, PyCharm)
120+
.idea/
121+
122+
119123
# TFS 2012 Local Workspace
120124
$tf/
121125

IronSoftware.Drawing/IronSoftware.Drawing.Common.Tests/UnitTests/ColorFunctionality.cs

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)