@@ -15,9 +15,6 @@ namespace UnitTests.UI
1515    [ TestClass ] 
1616    public  class  Test_IncrementalLoadingCollection 
1717    { 
18-         private  const  int  PageSize  =  20 ; 
19-         private  const  int  Pages  =  5 ; 
20- 
2118        private  static readonly  DataSource < int > . PageOperation [ ]  FailPassSequence 
2219            =  new  DataSource < int > . PageOperation [ ] 
2320            { 
@@ -28,76 +25,83 @@ private static readonly DataSource<int>.PageOperation[] FailPassSequence
2825                DataSource < int > . ThrowException ,  DataSource < int > . PassThrough , 
2926            } ; 
3027
31-         private  static readonly  int [ ]  AllData 
32-             =  Enumerable . Range ( 0 ,  Pages  *  PageSize ) . ToArray ( ) ; 
33- 
34-         [ DataRow ] 
35-         [ DataRow ( 2500 ,  1000 ,  1000 ,  1000 ,  1000 ) ] 
3628        [ TestMethod ] 
37-         public  async  Task  Requests ( params  int [ ]  pageDelays ) 
29+         [ DataRow ( 20 ,  5 ) ] 
30+         [ DataRow ( 5 ,  5 ) ] 
31+         [ DataRow ( 20 ,  5 ,  2500 ,  1000 ,  1000 ,  1000 ,  1000 ) ] 
32+         public  async  Task  Requests ( int  pageSize ,  int  pages ,  params  int [ ]  pageDelays ) 
3833        { 
39-             var  source  =  new  DataSource < int > ( AllData ,  pageDelays . Select ( DataSource < int > . MakeDelayOp ) ) ; 
40-             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  PageSize ) ; 
34+             var  allData  =  Enumerable . Range ( 0 ,  pages  *  pageSize ) . ToArray ( ) ; 
35+             var  source  =  new  DataSource < int > ( allData ,  pageDelays . Select ( DataSource < int > . MakeDelayOp ) ) ; 
36+             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  pageSize ) ; 
4137
42-             for  ( int  pageNum  =  1 ;  pageNum  <=  Pages ;  pageNum ++ ) 
38+             for  ( var  pageNum  =  1 ;  pageNum  <=  pages ;  pageNum ++ ) 
4339            { 
4440                await  collection . LoadMoreItemsAsync ( 0 ) ; 
45-                 CollectionAssert . AreEqual ( Enumerable . Range ( 0 ,  PageSize  *  pageNum ) . ToArray ( ) ,  collection ) ; 
41+                 CollectionAssert . AreEqual ( Enumerable . Range ( 0 ,  pageSize  *  pageNum ) . ToArray ( ) ,  collection ) ; 
4642            } 
4743        } 
4844
49-         [ DataRow ] 
50-         [ DataRow ( 2500 ,  1000 ,  1000 ,  1000 ,  1000 ) ] 
5145        [ TestMethod ] 
52-         public  async  Task  RequestsAsync ( params  int [ ]  pageDelays ) 
46+         [ DataRow ( 20 ,  5 ) ] 
47+         [ DataRow ( 5 ,  5 ) ] 
48+         [ DataRow ( 20 ,  5 ,  2500 ,  1000 ,  1000 ,  1000 ,  1000 ) ] 
49+         public  async  Task  RequestsAsync ( int  pageSize ,  int  pages ,  params  int [ ]  pageDelays ) 
5350        { 
54-             var  source  =  new  DataSource < int > ( AllData ,  pageDelays . Select ( DataSource < int > . MakeDelayOp ) ) ; 
55-             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  PageSize ) ; 
51+             var  allData  =  Enumerable . Range ( 0 ,  pages  *  pageSize ) . ToArray ( ) ; 
52+             var  source  =  new  DataSource < int > ( allData ,  pageDelays . Select ( DataSource < int > . MakeDelayOp ) ) ; 
53+             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  pageSize ) ; 
5654
5755            var  requests  =  new  List < Task > ( ) ; 
5856
59-             for  ( int  pageNum  =  1 ;  pageNum  <=  Pages ;  pageNum ++ ) 
57+             for  ( var  pageNum  =  1 ;  pageNum  <=  pages ;  pageNum ++ ) 
6058            { 
6159                requests . Add ( collection . LoadMoreItemsAsync ( 0 ) . AsTask ( ) 
6260                    . ContinueWith ( t =>  Assert . IsTrue ( t . IsCompletedSuccessfully ) ) ) ; 
6361            } 
6462
6563            await  Task . WhenAll ( requests ) ; 
6664
67-             CollectionAssert . AreEqual ( AllData ,  collection ) ; 
65+             CollectionAssert . AreEqual ( allData ,  collection ) ; 
6866        } 
6967
7068        [ TestMethod ] 
71-         public  async  Task  FirstRequestFails ( ) 
69+         [ DataRow ( 5 ,  5 ) ] 
70+         [ DataRow ( 20 ,  5 ) ] 
71+         public  async  Task  FirstRequestFails ( int  pageSize ,  int  pages ) 
7272        { 
73-             var  source  =  new  DataSource < int > ( AllData ,  DataSource < int > . ThrowException ) ; 
74-             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  PageSize ) ; 
73+             var  allData  =  Enumerable . Range ( 0 ,  pages  *  pageSize ) . ToArray ( ) ; 
74+             var  source  =  new  DataSource < int > ( allData ,  DataSource < int > . ThrowException ) ; 
75+             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  pageSize ) ; 
7576
7677            await  Assert . ThrowsExceptionAsync < AggregateException > ( collection . LoadMoreItemsAsync ( 0 ) . AsTask ) ; 
7778
7879            Assert . IsTrue ( ! collection . Any ( ) ) ; 
7980
8081            var  requests  =  new  List < Task > ( ) ; 
8182
82-             for  ( int  pageNum  =  1 ;  pageNum  <=  Pages ;  pageNum ++ ) 
83+             for  ( var  pageNum  =  1 ;  pageNum  <=  pages ;  pageNum ++ ) 
8384            { 
8485                requests . Add ( collection . LoadMoreItemsAsync ( 0 ) . AsTask ( ) 
8586                    . ContinueWith ( t =>  Assert . IsTrue ( t . IsCompletedSuccessfully ) ) ) ; 
8687            } 
8788
8889            await  Task . WhenAll ( requests ) ; 
8990
90-             CollectionAssert . AreEqual ( AllData ,  collection ) ; 
91+             CollectionAssert . AreEqual ( allData ,  collection ) ; 
9192        } 
9293
9394        [ TestMethod ] 
94-         public  async  Task  EveryOtherRequestFails ( ) 
95+         [ DataRow ( 5 ,  5 ) ] 
96+         [ DataRow ( 20 ,  5 ) ] 
97+         public  async  Task  EveryOtherRequestFails ( int  pageSize ,  int  pages ) 
9598        { 
96-             var  source  =  new  DataSource < int > ( AllData ,  FailPassSequence ) ; 
97-             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  PageSize ) ; 
99+             var  allData  =  Enumerable . Range ( 0 ,  pages  *  pageSize ) . ToArray ( ) ; 
100+             var  source  =  new  DataSource < int > ( allData ,  FailPassSequence ) ; 
101+             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  pageSize ) ; 
98102
99103            var  willFail  =  true ; 
100-             for  ( int  submitedRequests  =  0 ;  submitedRequests  <  Pages  *  2 ;  submitedRequests ++ ) 
104+             for  ( var  submitedRequests  =  0 ;  submitedRequests  <  pages  *  2 ;  submitedRequests ++ ) 
101105            { 
102106                if  ( willFail ) 
103107                { 
@@ -111,19 +115,22 @@ public async Task EveryOtherRequestFails()
111115                willFail  =  ! willFail ; 
112116            } 
113117
114-             CollectionAssert . AreEqual ( AllData ,  collection ) ; 
118+             CollectionAssert . AreEqual ( allData ,  collection ) ; 
115119        } 
116120
117121        [ TestMethod ] 
118-         public  async  Task  EveryOtherRequestFailsAsync ( ) 
122+         [ DataRow ( 5 ,  5 ) ] 
123+         [ DataRow ( 20 ,  5 ) ] 
124+         public  async  Task  EveryOtherRequestFailsAsync ( int  pageSize ,  int  pages ) 
119125        { 
120-             var  source  =  new  DataSource < int > ( AllData ,  FailPassSequence ) ; 
121-             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  PageSize ) ; 
126+             var  allData  =  Enumerable . Range ( 0 ,  pages  *  pageSize ) . ToArray ( ) ; 
127+             var  source  =  new  DataSource < int > ( allData ,  FailPassSequence ) ; 
128+             var  collection  =  new  IncrementalLoadingCollection < DataSource < int > ,  int > ( source ,  pageSize ) ; 
122129
123130            var  requests  =  new  List < Task > ( ) ; 
124131
125132            var  willFail  =  true ; 
126-             for  ( int  submitedRequests  =  0 ;  submitedRequests  <  Pages  *  2 ;  submitedRequests ++ ) 
133+             for  ( var  submitedRequests  =  0 ;  submitedRequests  <  pages  *  2 ;  submitedRequests ++ ) 
127134            { 
128135                if  ( willFail ) 
129136                { 
@@ -139,7 +146,7 @@ public async Task EveryOtherRequestFailsAsync()
139146
140147            await  Task . WhenAll ( requests ) ; 
141148
142-             CollectionAssert . AreEqual ( AllData ,  collection ) ; 
149+             CollectionAssert . AreEqual ( allData ,  collection ) ; 
143150        } 
144151    } 
145152} 
0 commit comments