1+ using DownloadAssistant . Options ;
12using DownloadAssistant . Requests ;
3+ using Microsoft . VisualStudio . TestTools . UnitTesting ;
24using Requests ;
35using Requests . Options ;
46
57namespace UnitTest
68{
9+
710 [ TestClass ]
8- public class AssistantTest
11+ public class RequestTests
912 {
10- [ TestClass ]
11- public class RequestTests
13+ private const string TestDirectory = "C:\\ Bibliothek\\ Downloads\\ Test" ;
14+
15+ [ TestInitialize ]
16+ public void TestInitialize ( )
1217 {
13- private const string TestDirectory = "C:\\ Bibliothek\\ Downloads\\ Test" ;
18+ Directory . CreateDirectory ( TestDirectory ) ;
19+ }
1420
15- [ TestInitialize ]
16- public void TestInitialize ( )
21+ [ TestCleanup ]
22+ public void TestCleanup ( )
23+ {
24+ if ( Directory . Exists ( TestDirectory ) )
1725 {
18- Directory . CreateDirectory ( TestDirectory ) ;
26+ Directory . Delete ( TestDirectory , recursive : true ) ;
1927 }
28+ }
2029
2130
22- [ TestMethod ]
23- public async Task GetRequest_ShouldCompleteSuccessfully ( )
31+ [ TestMethod ]
32+ public async Task GetRequest_ShouldCompleteSuccessfully ( )
33+ {
34+ // Arrange
35+ GetRequest getRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
2436 {
25- // Arrange
26- GetRequest getRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
27- {
28- DirectoryPath = TestDirectory ,
29- WriteMode = DownloadAssistant . Options . WriteMode . Append ,
30- Filename = "GetRequest.zip" ,
31- MinReloadSize = 0 ,
32- MaxBytesPerSecond = 1000000 ,
33- } ) ;
34-
35- bool isCompleted = false ;
36- getRequest . StateChanged += ( sender , e ) =>
37+ DirectoryPath = TestDirectory ,
38+ WriteMode = WriteMode . Append ,
39+ Filename = "GetRequest.zip" ,
40+ MinReloadSize = 0 ,
41+ MaxBytesPerSecond = 1000000 ,
42+ } ) ;
43+
44+ bool isCompleted = false ;
45+ getRequest . StateChanged += ( sender , e ) =>
46+ {
47+ Console . WriteLine ( e ) ;
48+ if ( e == RequestState . Compleated )
3749 {
38- Console . WriteLine ( e ) ;
39- if ( e == RequestState . Compleated )
40- {
41- isCompleted = true ;
42- }
43- } ;
44-
45- // Act
46- await getRequest . Task ;
47-
48- // Assert
49- // Assert.IsTrue(isCompleted, "The request should complete successfully.");
50- Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "GetRequest.zip" ) ) , "The file should be downloaded." ) ;
51- }
50+ isCompleted = true ;
51+ }
52+ } ;
53+
54+ // Act
55+ await getRequest . Task ;
56+
57+ // Assert
58+ // Assert.IsTrue(isCompleted, "The request should complete successfully.");
59+ Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "GetRequest.zip" ) ) , "The file should be downloaded." ) ;
60+ }
5261
53- [ TestMethod ]
54- public async Task LoadRequest_ShouldCompleteSuccessfully ( )
62+
63+ [ TestMethod ]
64+ public async Task LoadRequest_ShouldCompleteSuccessfully ( )
65+ {
66+ // File.Copy(@"C:\Bibliothek\Downloads\Test\LoadRequest.zipK.part", @"C:\Bibliothek\Downloads\Test\LoadRequest.zip.part", true);
67+ // Arrange
68+ LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
5569 {
56- // File.Copy(@"C:\Bibliothek\Downloads\Test\LoadRequest.zipK.part", @"C:\Bibliothek\Downloads\Test\LoadRequest.zip.part", true);
57- // Arrange
58- LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
59- {
60- DestinationPath = TestDirectory ,
61- Filename = "LoadRequest.zip" ,
62- MinReloadSize = 1000 ,
63- WriteMode = DownloadAssistant . Options . WriteMode . Append ,
64- } ) ;
65-
66- bool isCompleted = false ;
67- loadRequest . StateChanged += ( sender , e ) =>
70+ DestinationPath = TestDirectory ,
71+ Filename = "LoadRequest.zip" ,
72+ MinReloadSize = 1000 ,
73+ WriteMode = WriteMode . Append ,
74+ } ) ;
75+
76+ bool isCompleted = false ;
77+ loadRequest . StateChanged += ( sender , e ) =>
78+ {
79+ if ( e == RequestState . Compleated )
6880 {
69- if ( e == RequestState . Compleated )
70- {
71- isCompleted = true ;
72- }
73- } ;
74-
75- // Act
76- await loadRequest . Task ;
77- // Assert
78- //Assert.IsTrue(isCompleted, "The request should complete successfully.");
79- Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "LoadRequest.zip" ) ) , "The file should be downloaded." ) ;
80- }
81+ isCompleted = true ;
82+ }
83+ } ;
84+
85+ // Act
86+ await loadRequest . Task ;
87+ // Assert
88+ //Assert.IsTrue(isCompleted, "The request should complete successfully.");
89+ Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "LoadRequest.zip" ) ) , "The file should be downloaded." ) ;
90+ }
8191
82- [ TestMethod ]
83- public async Task PartialRequest_ShouldCompleteSuccessfully ( )
92+ [ TestMethod ]
93+ public async Task PartialRequest_ShouldCompleteSuccessfully ( )
94+ {
95+ // Arrange
96+ RequestHandler . MainRequestHandlers [ 0 ] . StaticDegreeOfParallelism = 3 ;
97+ LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
8498 {
85- // Arrange
86- RequestHandler . MainRequestHandlers [ 0 ] . StaticDegreeOfParallelism = 3 ;
87- LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
88- {
89- DestinationPath = TestDirectory ,
90- Chunks = 7 ,
91- MergeWhileProgress = true ,
92- WriteMode = DownloadAssistant . Options . WriteMode . AppendOrTruncate ,
93- RequestCompleated = ( req , url ) => Console . WriteLine ( $ "Finished successful: { url } ") ,
94- } ) ;
95-
96- bool isCompleted = false ;
97- loadRequest . StateChanged += ( sender , e ) =>
99+ DestinationPath = TestDirectory ,
100+ Chunks = 7 ,
101+ MergeWhileProgress = true ,
102+ WriteMode = WriteMode . AppendOrTruncate ,
103+ RequestCompleated = ( req , url ) => Console . WriteLine ( $ "Finished successful: { url } ") ,
104+ } ) ;
105+
106+ bool isCompleted = false ;
107+ loadRequest . StateChanged += ( sender , e ) =>
108+ {
109+ if ( e == RequestState . Compleated )
98110 {
99- if ( e == RequestState . Compleated )
100- {
101- isCompleted = true ;
102- }
103- } ;
104-
105- // Act
106- await loadRequest . Task ;
107- //await Task.Delay(10000);
108-
109- // Assert
110- // Assert.IsTrue(isCompleted, "The request should complete successfully.");
111- Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "sample-large-zip-file.zip" ) ) , "The file should be downloaded." ) ;
112- }
111+ isCompleted = true ;
112+ }
113+ } ;
113114
114- [ TestMethod ]
115- public async Task PartialRequest_WithSubsequentRequest_ShouldCompleteSuccessfully ( )
115+ // Act
116+ await loadRequest . Task ;
117+ //await Task.Delay(10000);
118+
119+ // Assert
120+ // Assert.IsTrue(isCompleted, "The request should complete successfully.");
121+ Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "sample-large-zip-file.zip" ) ) , "The file should be downloaded." ) ;
122+ }
123+
124+ [ TestMethod ]
125+ public async Task PartialRequest_WithSubsequentRequest_ShouldCompleteSuccessfully ( )
126+ {
127+ // Arrange
128+ RequestHandler . MainRequestHandlers [ 0 ] . StaticDegreeOfParallelism = 3 ;
129+ OwnRequest subRequest = new ( async ( token ) =>
116130 {
117- // Arrange
118- RequestHandler . MainRequestHandlers [ 0 ] . StaticDegreeOfParallelism = 3 ;
119- OwnRequest subRequest = new ( async ( token ) =>
120- {
121- Console . WriteLine ( "Subrequest started" ) ;
122- await Task . Delay ( 4000 ) ;
123- return true ;
124- } , new ( ) { AutoStart = false } ) ;
131+ Console . WriteLine ( "Subrequest started" ) ;
132+ await Task . Delay ( 4000 ) ;
133+ return true ;
134+ } , new ( ) { AutoStart = false } ) ;
125135
126- LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
127- {
128- DestinationPath = TestDirectory ,
129- Chunks = 7 ,
130- SubsequentRequest = subRequest ,
131- MergeWhileProgress = true ,
132- WriteMode = DownloadAssistant . Options . WriteMode . AppendOrTruncate ,
133- RequestCompleated = ( req , url ) => Console . WriteLine ( $ "Finished successful: { url } ") ,
134- } ) ;
135-
136- bool isCompleted = false ;
137- loadRequest . StateChanged += ( sender , e ) =>
136+ LoadRequest loadRequest = new ( "https://www.learningcontainer.com/download/sample-large-zip-file/?wpdmdl=1639&refresh=6634d2642fcb31714737764" , new ( )
137+ {
138+ DestinationPath = TestDirectory ,
139+ Chunks = 7 ,
140+ SubsequentRequest = subRequest ,
141+ MergeWhileProgress = true ,
142+ WriteMode = WriteMode . AppendOrTruncate ,
143+ RequestCompleated = ( req , url ) => Console . WriteLine ( $ "Finished successful: { url } ") ,
144+ } ) ;
145+
146+ bool isCompleted = false ;
147+ loadRequest . StateChanged += ( sender , e ) =>
148+ {
149+ if ( e == RequestState . Compleated )
138150 {
139- if ( e == RequestState . Compleated )
140- {
141- isCompleted = true ;
142- }
143- } ;
144-
145- // Act
146- await loadRequest . Task ;
147- Console . WriteLine ( "loadRequest finished" ) ;
148- await subRequest . Task ;
149-
150- // Assert
151- //Assert.IsTrue(isCompleted, "The request should complete successfully.");
152- Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "sample-large-zip-file.zip" ) ) , "The file should be downloaded." ) ;
153- }
151+ isCompleted = true ;
152+ }
153+ } ;
154+
155+ // Act
156+ await loadRequest . Task ;
157+ Console . WriteLine ( "loadRequest finished" ) ;
158+ await subRequest . Task ;
159+
160+ // Assert
161+ //Assert.IsTrue(isCompleted, "The request should complete successfully.");
162+ Assert . IsTrue ( File . Exists ( Path . Combine ( TestDirectory , "sample-large-zip-file.zip" ) ) , "The file should be downloaded." ) ;
154163 }
155164 }
156165}
0 commit comments