Skip to content

Commit bbf4678

Browse files
committed
添加更多测试文件
1 parent 16465ff commit bbf4678

File tree

6 files changed

+126
-3
lines changed

6 files changed

+126
-3
lines changed
476 KB
Loading
531 KB
Loading
622 KB
Loading

src/MediaConverters/MediaConverters.Tests/Framework/TestFileProvider.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ namespace DotNetCampus.MediaConverters.Tests;
66

77
internal static class TestFileProvider
88
{
9+
public const string DefaultTestImageName = "file_example_PNG_500kB.png";
10+
911
public static Image<Rgba32> GetDefaultTestImage()
1012
{
11-
var imageFile = GetTestFile("file_example_PNG_500kB.png");
13+
var imageFile = GetTestFile(DefaultTestImageName);
1214
using var fileStream = imageFile.OpenRead();
1315
return Image.Load<Rgba32>(new DecoderOptions(), fileStream);
1416
}

src/MediaConverters/MediaConverters.Tests/Imaging/Effects/BitmapEffectExtensionTests.cs

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ public void ReplaceColorTest1()
3232
TestHelper.OpenFileInExplorer(file);
3333
}
3434

35+
[TestMethod("替换不存在的颜色,不会影响原来的图片")]
36+
public void ReplaceColorTest_NotExists()
37+
{
38+
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
39+
40+
// 这是一个不存在图片里的颜色
41+
var source = new Rgba32(0x36, 0x55, 0x23, 0xFF);
42+
43+
var targetColor = new Rgba32(0xFF, 0xFF, 0xFF, 0x00);
44+
image.ReplaceColor(source, targetColor);
45+
46+
// 替换不存在的颜色,不会影响原来的图片
47+
var file = image.SaveAndCompareTestFile(TestFileProvider.DefaultTestImageName);
48+
TestHelper.OpenFileInExplorer(file);
49+
}
50+
3551
[TestMethod()]
3652
public void ReplaceColorTest2()
3753
{
@@ -92,7 +108,7 @@ public void SetContrast3()
92108
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
93109
image.SetContrast(1);
94110
// 对比度不变,和原图一样
95-
var file = image.SaveAndCompareTestFile("file_example_PNG_500kB.png");
111+
var file = image.SaveAndCompareTestFile(TestFileProvider.DefaultTestImageName);
96112
TestHelper.OpenFileInExplorer(file);
97113
}
98114

@@ -122,7 +138,25 @@ public void SetBrightness3()
122138
{
123139
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
124140
image.SetBrightness(1);
125-
var file = image.SaveAndCompareTestFile("file_example_PNG_500kB.png");
141+
var file = image.SaveAndCompareTestFile(TestFileProvider.DefaultTestImageName);
142+
TestHelper.OpenFileInExplorer(file);
143+
}
144+
145+
[TestMethod()]
146+
public void SetBrightness4()
147+
{
148+
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
149+
image.SetBrightness(0.5f);
150+
var file = image.SaveAndCompareTestFile("SetBrightness4.png");
151+
TestHelper.OpenFileInExplorer(file);
152+
}
153+
154+
[TestMethod()]
155+
public void SetBrightness5()
156+
{
157+
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
158+
image.SetBrightness(0.7f);
159+
var file = image.SaveAndCompareTestFile("SetBrightness5.png");
126160
TestHelper.OpenFileInExplorer(file);
127161
}
128162

@@ -135,6 +169,25 @@ public void SetSoftEdgeEffect1()
135169
TestHelper.OpenFileInExplorer(file);
136170
}
137171

172+
[TestMethod()]
173+
public void SetSoftEdgeEffect2()
174+
{
175+
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
176+
image.SetSoftEdgeEffect(10.0f);
177+
var file = image.SaveAndCompareTestFile("SetSoftEdgeEffect2.png");
178+
TestHelper.OpenFileInExplorer(file);
179+
}
180+
181+
[TestMethod()]
182+
public void SetSoftEdgeEffect3()
183+
{
184+
Image<Rgba32> image = TestFileProvider.GetDefaultTestImage();
185+
image.SetSoftEdgeEffect(0);
186+
// 算法原因,设置为 0 时,还是有微弱差别
187+
var file = image.SaveAndCompareTestFile();
188+
TestHelper.OpenFileInExplorer(file);
189+
}
190+
138191
[TestMethod()]
139192
public void SetDuotoneEffect1()
140193
{
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
using DotNetCampus.MediaConverters.Imaging.Effects.Colors;
2+
using DotNetCampus.MediaConverters.Imaging.Effects.Extensions;
3+
4+
namespace DotNetCampus.MediaConverters.Tests.Imaging.Effects.Colors;
5+
6+
[TestClass()]
7+
public class ColorMatricesTests
8+
{
9+
[TestMethod()]
10+
public void BrightnessFilterTest()
11+
{
12+
var color = new ColorMetadata(68 / 255f, 114 / 255f, 196 / 255f);
13+
var filter = ColorMatrices.CreateBrightnessFilter(1.8f);
14+
15+
var expected = color.ApplyMatrix(filter).ARGB8bit;
16+
var actual = (122, 205, 255, 255);
17+
18+
Assert.AreEqual(expected.R, actual.Item1);
19+
Assert.AreEqual(expected.G, actual.Item2);
20+
Assert.AreEqual(expected.B, actual.Item3);
21+
Assert.AreEqual(expected.A, actual.Item4);
22+
}
23+
24+
[TestMethod()]
25+
public void ContrastFilterTest()
26+
{
27+
var color = new ColorMetadata(68 / 255f, 114 / 255f, 196 / 255f);
28+
var filter = ColorMatrices.CreateContrastFilter(1.8f);
29+
30+
var expected = color.ApplyMatrix(filter).ARGB8bit;
31+
var actual = (20, 103, 251, 255);
32+
33+
Assert.AreEqual(expected.Item1, actual.Item1);
34+
Assert.AreEqual(expected.Item2, actual.Item2);
35+
Assert.AreEqual(expected.Item3, actual.Item3);
36+
Assert.AreEqual(expected.Item4, actual.Item4);
37+
}
38+
39+
[TestMethod()]
40+
public void GrayFilterTest()
41+
{
42+
var color = new ColorMetadata(68 / 255f, 114 / 255f, 196 / 255f);
43+
var filter = ColorMatrices.CreateGrayScaleFilter(0.8f);
44+
45+
var expected = color.ApplyMatrix(filter).ARGB8bit;
46+
var actual = (101, 113, 127, 255);
47+
48+
Assert.AreEqual(expected.Item1, actual.Item1);
49+
Assert.AreEqual(expected.Item2, actual.Item2);
50+
Assert.AreEqual(expected.Item3, actual.Item3);
51+
Assert.AreEqual(expected.Item4, actual.Item4);
52+
}
53+
54+
[TestMethod()]
55+
public void SaturationFilterTest()
56+
{
57+
var color = new ColorMetadata(68 / 255f, 114 / 255f, 196 / 255f);
58+
var filter = ColorMatrices.CreateSaturationFilter(1.8f);
59+
60+
var expected = color.ApplyMatrix(filter).ARGB8bit;
61+
var actual = (34, 117, 255, 255);
62+
63+
Assert.AreEqual(expected.Item1, actual.Item1);
64+
Assert.AreEqual(expected.Item2, actual.Item2);
65+
Assert.AreEqual(expected.Item3, actual.Item3);
66+
Assert.AreEqual(expected.Item4, actual.Item4);
67+
}
68+
}

0 commit comments

Comments
 (0)