11using DotNetCampus . MediaConverters . Contexts ;
2+ using DotNetCampus . MediaConverters . Imaging . Optimizations ;
23
34using System ;
45using System . Collections . Generic ;
@@ -14,33 +15,82 @@ namespace DotNetCampus.MediaConverters.Tests.Tool;
1415public class MediaConverterTests
1516{
1617 [ TestMethod ]
17- public async Task OptimizeImageFile ( )
18+ public async Task OptimizeImageFile1 ( )
19+ {
20+ var imageConvertContext = new ImageConvertContext ( ) ;
21+ var options = ToOptions ( TestFileProvider . DefaultTestImageName , imageConvertContext ) ;
22+
23+ var result = await Program . RunAsync ( options ) ;
24+ Assert . AreEqual ( ErrorCode . Success , result ) ;
25+ TestHelper . OpenFileInExplorer ( new FileInfo ( options . OutputFile ) ) ;
26+ }
27+
28+ [ TestMethod ]
29+ public async Task OptimizeImageFile2 ( )
30+ {
31+ var imageConvertContext = new ImageConvertContext ( ) ;
32+ var options = ToOptions ( "file_example_TIFF_1MB.tiff" , imageConvertContext ) ;
33+
34+ var result = await Program . RunAsync ( options ) ;
35+ Assert . AreEqual ( ErrorCode . Success , result ) ;
36+ TestHelper . OpenFileInExplorer ( new FileInfo ( options . OutputFile ) ) ;
37+ }
38+
39+ [ TestMethod ]
40+ public async Task OptimizeImageFile3 ( )
41+ {
42+ var imageConvertContext = new ImageConvertContext ( ) ;
43+ var options = ToOptions ( "file_example_WEBP_50kB.webp" , imageConvertContext ) ;
44+
45+ var result = await Program . RunAsync ( options ) ;
46+ Assert . AreEqual ( ErrorCode . Success , result ) ;
47+ TestHelper . OpenFileInExplorer ( new FileInfo ( options . OutputFile ) ) ;
48+ }
49+
50+ [ TestMethod ]
51+ public async Task OptimizeImageFile4 ( )
52+ {
53+ var imageConvertContext = new ImageConvertContext ( ) ;
54+ var options = ToOptions ( "sample_640×426.tga" , imageConvertContext ) ;
55+
56+ var result = await Program . RunAsync ( options ) ;
57+ Assert . AreEqual ( ErrorCode . Success , result ) ;
58+ TestHelper . OpenFileInExplorer ( new FileInfo ( options . OutputFile ) ) ;
59+ }
60+
61+ [ TestMethod ]
62+ public async Task OptimizeImageFile5 ( )
63+ {
64+ var imageConvertContext = new ImageConvertContext ( ) ;
65+ var options = ToOptions ( "EXIF Orientation.png" , imageConvertContext ) ;
66+
67+ var result = await Program . RunAsync ( options ) ;
68+ Assert . AreEqual ( ErrorCode . Success , result ) ;
69+ TestHelper . OpenFileInExplorer ( new FileInfo ( options . OutputFile ) ) ;
70+ }
71+
72+ private Options ToOptions ( string fileName , ImageConvertContext imageConvertContext )
1873 {
1974 var testFolder = Path . Join ( TestHelper . WorkingDirectory . FullName , Path . GetRandomFileName ( ) ) ;
2075 Directory . CreateDirectory ( testFolder ) ;
2176 var workingFolder = Path . Join ( testFolder , "Working" ) ;
2277 var outputFile = Path . Join ( testFolder , "Output.png" ) ;
2378 var configFile = Path . Join ( testFolder , "Config.json" ) ;
2479
25- var inputFile = TestFileProvider . GetTestFile ( TestFileProvider . DefaultTestImageName ) ;
26-
27- var imageConvertContext = new ImageConvertContext ( ) ;
80+ var inputFile = TestFileProvider . GetTestFile ( fileName ) ;
2881
2982 var jsonText = JsonSerializer . Serialize ( imageConvertContext , new JsonSerializerOptions ( SourceGenerationContext . Default . Options )
3083 {
3184 DefaultIgnoreCondition = JsonIgnoreCondition . WhenWritingNull ,
3285 } ) ;
33- await File . WriteAllTextAsync ( configFile , jsonText ) ;
86+ File . WriteAllText ( configFile , jsonText ) ;
3487
35- var options = new Options ( )
88+ return new Options ( )
3689 {
3790 WorkingFolder = workingFolder ,
3891 InputFile = inputFile . FullName ,
3992 OutputFile = outputFile ,
4093 ConvertConfigurationFile = configFile ,
4194 } ;
42-
43- var result = await Program . RunAsync ( options ) ;
44- Assert . AreEqual ( ErrorCode . Success , result ) ;
4595 }
4696}
0 commit comments