1+ using Requests ;
2+
3+ namespace UnitTest
4+ {
5+ [ TestClass ]
6+ public class RequestTest
7+ {
8+ [ TestMethod ]
9+ public async Task ContainerTaskRemoveTest ( )
10+ {
11+ RequestContainer < OwnRequest > container = new ( ) ;
12+ OwnRequest longRequest = new ( async ( token ) => { await Task . Delay ( 10000 ) ; return true ; } ) ;
13+ OwnRequest request = new ( async ( token ) => { await Task . Delay ( 5000 ) ; return true ; } ) ;
14+ container . Add ( new OwnRequest ( async ( token ) => { await Task . Delay ( 3000 ) ; return true ; } ) ) ;
15+ _ = Task . Run ( async ( ) => { await Task . Delay ( 2000 ) ; container . Add ( longRequest ) ; } ) ;
16+ _ = Task . Run ( async ( ) => { await Task . Delay ( 2000 ) ; container . Add ( request ) ; } ) ;
17+ _ = Task . Run ( async ( ) => { await Task . Delay ( 800 ) ; container . Remove ( longRequest ) ; } ) ;
18+ await container . Task ;
19+ Console . WriteLine ( "Long Request State: " + longRequest . State ) ;
20+ Console . WriteLine ( "Container State: " + container . State ) ;
21+ }
22+
23+ [ TestMethod ]
24+ public async Task ContainerTaskTest ( )
25+ {
26+ RequestContainer < OwnRequest > container = new ( ) ;
27+ OwnRequest longRequest = new ( async ( token ) => { await Task . Delay ( 10000 ) ; return true ; } ) ;
28+ OwnRequest request = new ( async ( token ) => { await Task . Delay ( 5000 ) ; return true ; } ) ;
29+ container . Add ( new OwnRequest ( async ( token ) => { await Task . Delay ( 3000 ) ; return true ; } ) ) ;
30+ _ = Task . Run ( async ( ) => { await Task . Delay ( 2000 ) ; container . Add ( longRequest ) ; } ) ;
31+ _ = Task . Run ( async ( ) => { await Task . Delay ( 2000 ) ; container . Add ( request ) ; } ) ;
32+ await container . Task ;
33+ Console . WriteLine ( "Long Request State: " + longRequest . State ) ;
34+ Console . WriteLine ( "Container State: " + container . State ) ;
35+ }
36+
37+ [ TestMethod ]
38+ public async Task ContainerTaskFinishedTest ( )
39+ {
40+ RequestContainer < OwnRequest > container = new ( ) ;
41+ OwnRequest longRequest = new ( async ( token ) => { await Task . Delay ( 10000 ) ; return true ; } ) ;
42+ container . Add ( new ( async ( token ) => { await Task . Delay ( 3000 ) ; return true ; } ) ) ;
43+ container . Add ( new OwnRequest ( async ( token ) => { await Task . Delay ( 1000 ) ; return true ; } ) ) ;
44+ await container . Task ;
45+ Console . WriteLine ( "Long Request State: " + longRequest . State ) ;
46+ Console . WriteLine ( "Container State: " + container . State ) ;
47+ container . Add ( longRequest ) ;
48+ Console . WriteLine ( "Container State: " + container . State ) ;
49+ await container . Task ;
50+ Console . WriteLine ( "End Container State: " + container . State ) ;
51+ Console . WriteLine ( "Long Request State: " + longRequest . State ) ;
52+ }
53+ }
54+ }
0 commit comments