33using Microsoft . CST . RecursiveExtractor ;
44using Microsoft . CST . RecursiveExtractor . Cli ;
55using Microsoft . CST . RecursiveExtractor . Tests ;
6- using Microsoft . VisualStudio . TestTools . UnitTesting ;
76using RecursiveExtractor . Tests . ExtractorTests ;
87using System ;
98using System . IO ;
109using System . Linq ;
1110using System . Threading ;
11+ using Xunit ;
1212
1313namespace RecursiveExtractor . Tests . CliTests
1414{
15- [ TestClass ]
16- public class CliTests : BaseExtractorTestClass
15+ public class CliTests : IClassFixture < BaseExtractorTestClass >
1716 {
18- [ DataTestMethod ]
19- [ DataRow ( "TestData.zip" , 5 ) ]
20- [ DataRow ( "TestData.7z" ) ]
21- [ DataRow ( "TestData.tar" , 6 ) ]
22- [ DataRow ( "TestData.rar" ) ]
23- [ DataRow ( "TestData.rar4" ) ]
24- [ DataRow ( "TestData.tar.bz2" , 6 ) ]
25- [ DataRow ( "TestData.tar.gz" , 6 ) ]
26- [ DataRow ( "TestData.tar.xz" ) ]
27- [ DataRow ( "sysvbanner_1.0-17fakesync1_amd64.deb" , 8 ) ]
28- [ DataRow ( "TestData.a" ) ]
29- [ DataRow ( "TestData.bsd.ar" ) ]
30- [ DataRow ( "TestData.iso" ) ]
31- [ DataRow ( "TestData.vhdx" ) ]
32- [ DataRow ( "TestData.wim" ) ]
33- [ DataRow ( "EmptyFile.txt" , 1 ) ]
34- [ DataRow ( "TestDataArchivesNested.Zip" , 54 ) ]
17+ [ Theory ]
18+ [ InlineData ( "TestData.zip" , 5 ) ]
19+ [ InlineData ( "TestData.7z" ) ]
20+ [ InlineData ( "TestData.tar" , 6 ) ]
21+ [ InlineData ( "TestData.rar" ) ]
22+ [ InlineData ( "TestData.rar4" ) ]
23+ [ InlineData ( "TestData.tar.bz2" , 6 ) ]
24+ [ InlineData ( "TestData.tar.gz" , 6 ) ]
25+ [ InlineData ( "TestData.tar.xz" ) ]
26+ [ InlineData ( "sysvbanner_1.0-17fakesync1_amd64.deb" , 8 ) ]
27+ [ InlineData ( "TestData.a" ) ]
28+ [ InlineData ( "TestData.bsd.ar" ) ]
29+ [ InlineData ( "TestData.iso" ) ]
30+ [ InlineData ( "TestData.vhdx" ) ]
31+ [ InlineData ( "TestData.wim" ) ]
32+ [ InlineData ( "EmptyFile.txt" , 1 ) ]
33+ [ InlineData ( "TestDataArchivesNested.Zip" , 54 ) ]
3534 public void ExtractArchiveParallel ( string fileName , int expectedNumFiles = 3 )
3635 {
37- ExtractArchive ( fileName , expectedNumFiles , false ) ;
36+ CliTests . ExtractArchive ( fileName , expectedNumFiles , false ) ;
3837 }
3938
40- internal void ExtractArchive ( string fileName , int expectedNumFiles , bool singleThread )
39+ internal static void ExtractArchive ( string fileName , int expectedNumFiles , bool singleThread )
4140 {
4241 var directory = TestPathHelpers . GetFreshTestDirectory ( ) ;
4342 var path = Path . Combine ( Directory . GetCurrentDirectory ( ) , "TestData" , "TestDataArchives" , fileName ) ;
@@ -46,35 +45,35 @@ internal void ExtractArchive(string fileName, int expectedNumFiles, bool singleT
4645 Thread . Sleep ( 100 ) ;
4746 if ( Directory . Exists ( directory ) )
4847 {
49- files = Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) . ToArray ( ) ;
48+ files = [ .. Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) ] ;
5049 }
51- Assert . AreEqual ( expectedNumFiles , files . Length ) ;
50+ Assert . Equal ( expectedNumFiles , files . Length ) ;
5251 }
5352
54- [ DataTestMethod ]
55- [ DataRow ( "TestData.zip" , 5 ) ]
56- [ DataRow ( "TestData.7z" ) ]
57- [ DataRow ( "TestData.tar" , 6 ) ]
58- [ DataRow ( "TestData.rar" ) ]
59- [ DataRow ( "TestData.rar4" ) ]
60- [ DataRow ( "TestData.tar.bz2" , 6 ) ]
61- [ DataRow ( "TestData.tar.gz" , 6 ) ]
62- [ DataRow ( "TestData.tar.xz" ) ]
63- [ DataRow ( "sysvbanner_1.0-17fakesync1_amd64.deb" , 8 ) ]
64- [ DataRow ( "TestData.a" ) ]
65- [ DataRow ( "TestData.bsd.ar" ) ]
66- [ DataRow ( "TestData.iso" ) ]
67- [ DataRow ( "TestData.vhdx" ) ]
68- [ DataRow ( "TestData.wim" ) ]
69- [ DataRow ( "EmptyFile.txt" , 1 ) ]
70- [ DataRow ( "TestDataArchivesNested.Zip" , 54 ) ]
53+ [ Theory ]
54+ [ InlineData ( "TestData.zip" , 5 ) ]
55+ [ InlineData ( "TestData.7z" ) ]
56+ [ InlineData ( "TestData.tar" , 6 ) ]
57+ [ InlineData ( "TestData.rar" ) ]
58+ [ InlineData ( "TestData.rar4" ) ]
59+ [ InlineData ( "TestData.tar.bz2" , 6 ) ]
60+ [ InlineData ( "TestData.tar.gz" , 6 ) ]
61+ [ InlineData ( "TestData.tar.xz" ) ]
62+ [ InlineData ( "sysvbanner_1.0-17fakesync1_amd64.deb" , 8 ) ]
63+ [ InlineData ( "TestData.a" ) ]
64+ [ InlineData ( "TestData.bsd.ar" ) ]
65+ [ InlineData ( "TestData.iso" ) ]
66+ [ InlineData ( "TestData.vhdx" ) ]
67+ [ InlineData ( "TestData.wim" ) ]
68+ [ InlineData ( "EmptyFile.txt" , 1 ) ]
69+ [ InlineData ( "TestDataArchivesNested.Zip" , 54 ) ]
7170 public void ExtractArchiveSingleThread ( string fileName , int expectedNumFiles = 3 )
7271 {
73- ExtractArchive ( fileName , expectedNumFiles , true ) ;
72+ CliTests . ExtractArchive ( fileName , expectedNumFiles , true ) ;
7473 }
7574
76- [ DataTestMethod ]
77- [ DataRow ( "TestDataForFilters.7z" ) ]
75+ [ Theory ]
76+ [ InlineData ( "TestDataForFilters.7z" ) ]
7877 public void ExtractArchiveWithAllowFilters ( string fileName , int expectedNumFiles = 1 )
7978 {
8079 var directory = TestPathHelpers . GetFreshTestDirectory ( ) ;
@@ -86,21 +85,21 @@ public void ExtractArchiveWithAllowFilters(string fileName, int expectedNumFiles
8685 Input = newpath ,
8786 Output = directory ,
8887 Verbose = true ,
89- AllowFilters = new string [ ]
90- {
88+ AllowFilters =
89+ [
9190 "*.cs"
92- }
91+ ]
9392 } ) ;
9493 var files = Array . Empty < string > ( ) ;
9594 if ( Directory . Exists ( directory ) )
9695 {
97- files = Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) . ToArray ( ) ;
96+ files = [ .. Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) ] ;
9897 }
99- Assert . AreEqual ( expectedNumFiles , files . Length ) ;
98+ Assert . Equal ( expectedNumFiles , files . Length ) ;
10099 }
101100
102- [ DataTestMethod ]
103- [ DataRow ( "TestDataForFilters.7z" ) ]
101+ [ Theory ]
102+ [ InlineData ( "TestDataForFilters.7z" ) ]
104103 public void ExtractArchiveWithDenyFilters ( string fileName , int expectedNumFiles = 2 )
105104 {
106105 var directory = TestPathHelpers . GetFreshTestDirectory ( ) ;
@@ -112,33 +111,31 @@ public void ExtractArchiveWithDenyFilters(string fileName, int expectedNumFiles
112111 Input = newpath ,
113112 Output = directory ,
114113 Verbose = true ,
115- DenyFilters = new string [ ]
116- {
114+ DenyFilters =
115+ [
117116 "*.cs"
118- }
117+ ]
119118 } ) ;
120119 var files = Array . Empty < string > ( ) ;
121120 if ( Directory . Exists ( directory ) )
122121 {
123- files = Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) . ToArray ( ) ;
122+ files = [ .. Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) ] ;
124123 }
125- Assert . AreEqual ( expectedNumFiles , files . Length ) ;
124+ Assert . Equal ( expectedNumFiles , files . Length ) ;
126125 }
127126
128- [ DataTestMethod ]
129- [ DataRow ( "TestDataEncrypted.7z" ) ]
130- [ DataRow ( "TestDataEncryptedAes.zip" ) ]
131- [ DataRow ( "TestDataEncrypted.rar4" ) ]
127+ [ Theory ]
128+ [ InlineData ( "TestDataEncrypted.7z" ) ]
129+ [ InlineData ( "TestDataEncryptedAes.zip" ) ]
130+ [ InlineData ( "TestDataEncrypted.rar4" ) ]
132131 public void ExtractEncryptedArchive ( string fileName , int expectedNumFiles = 3 )
133132 {
134133 var directory = TestPathHelpers . GetFreshTestDirectory ( ) ;
135134 var path = Path . Combine ( Directory . GetCurrentDirectory ( ) , "TestData" , "TestDataArchives" , fileName ) ;
136135 var passwords = EncryptedArchiveTests . TestArchivePasswords . Values . SelectMany ( x => x ) ;
137136 RecursiveExtractorClient . ExtractCommand ( new ExtractCommandOptions ( ) { Input = path , Output = directory , Verbose = true , Passwords = passwords } ) ;
138- string [ ] files = Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) . ToArray ( ) ;
139- Assert . AreEqual ( expectedNumFiles , files . Length ) ;
140- }
141-
142- protected static readonly NLog . Logger Logger = NLog . LogManager . GetCurrentClassLogger ( ) ;
137+ string [ ] files = [ .. Directory . EnumerateFiles ( directory , "*.*" , SearchOption . AllDirectories ) ] ;
138+ Assert . Equal ( expectedNumFiles , files . Length ) ;
139+ }
143140 }
144141}
0 commit comments