Skip to content

Commit 84e799a

Browse files
committed
Clean up tests
1 parent 53e1c15 commit 84e799a

File tree

1 file changed

+38
-50
lines changed

1 file changed

+38
-50
lines changed

UnitTests/UnitTests.UWP/UI/Collection/Test_IncrementalLoadingCollection.cs

Lines changed: 38 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ namespace UnitTests.UI
1515
[TestClass]
1616
public class Test_IncrementalLoadingCollection
1717
{
18+
private const int PageSize = 20;
19+
private const int Pages = 5;
20+
1821
private static readonly DataSource<int>.PageOperation[] FailPassSequence
1922
= new DataSource<int>.PageOperation[]
2023
{
@@ -25,133 +28,118 @@ private static readonly DataSource<int>.PageOperation[] FailPassSequence
2528
DataSource<int>.ThrowException, DataSource<int>.PassThrough,
2629
};
2730

28-
[DataRow(2500, 1000, 1000, 1000, 1000)]
31+
private static readonly int[] AllData
32+
= Enumerable.Range(0, Pages * PageSize).ToArray();
33+
2934
[DataRow]
35+
[DataRow(2500, 1000, 1000, 1000, 1000)]
3036
[TestMethod]
3137
public async Task Requests(params int[] pageDelays)
3238
{
33-
const int pageSize = 20;
34-
const int pages = 5;
35-
36-
var source = new DataSource<int>(Enumerable.Range(0, pageSize * pages), pageDelays.Select(DataSource<int>.MakeDelayOp));
37-
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, pageSize);
39+
var source = new DataSource<int>(AllData, pageDelays.Select(DataSource<int>.MakeDelayOp));
40+
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, PageSize);
3841

39-
for (int pageNum = 1; pageNum <= pages; pageNum++)
42+
for (int pageNum = 1; pageNum <= Pages; pageNum++)
4043
{
41-
var rez1 = await collection.LoadMoreItemsAsync(0);
42-
Assert.AreEqual((uint)pageSize, rez1.Count);
43-
CollectionAssert.AreEqual(Enumerable.Range(0, pageSize * pageNum).ToArray(), collection);
44+
await collection.LoadMoreItemsAsync(0);
45+
CollectionAssert.AreEqual(Enumerable.Range(0, PageSize * pageNum).ToArray(), collection);
4446
}
4547
}
4648

47-
[DataRow(2500, 1000, 1000, 1000, 1000)]
4849
[DataRow]
50+
[DataRow(2500, 1000, 1000, 1000, 1000)]
4951
[TestMethod]
5052
public async Task RequestsAsync(params int[] pageDelays)
5153
{
52-
const int pageSize = 20;
53-
const int pages = 5;
54-
55-
var source = new DataSource<int>(Enumerable.Range(0, pageSize * pages), pageDelays.Select(DataSource<int>.MakeDelayOp));
56-
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, pageSize);
54+
var source = new DataSource<int>(AllData, pageDelays.Select(DataSource<int>.MakeDelayOp));
55+
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, PageSize);
5756

5857
var requests = new List<Task>();
5958

60-
for (int pageNum = 1; pageNum <= pages; pageNum++)
59+
for (int pageNum = 1; pageNum <= Pages; pageNum++)
6160
{
62-
requests.Add(collection.LoadMoreItemsAsync(0).AsTask().ContinueWith(t =>
63-
{
64-
Assert.AreEqual(TaskStatus.RanToCompletion, t.Status);
65-
Assert.AreEqual((uint)pageSize, t.Result.Count);
66-
}));
61+
requests.Add(collection.LoadMoreItemsAsync(0).AsTask()
62+
.ContinueWith(t => Assert.IsTrue(t.IsCompletedSuccessfully)));
6763
}
6864

6965
await Task.WhenAll(requests);
7066

71-
CollectionAssert.AreEqual(Enumerable.Range(0, pageSize * pages).ToArray(), collection);
67+
CollectionAssert.AreEqual(AllData, collection);
7268
}
7369

7470
[TestMethod]
7571
public async Task FirstRequestFails()
7672
{
77-
const int pageSize = 20;
78-
const int pages = 5;
73+
var source = new DataSource<int>(AllData, DataSource<int>.ThrowException);
74+
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, PageSize);
7975

80-
var source = new DataSource<int>(Enumerable.Range(0, pageSize * pages), DataSource<int>.ThrowException);
81-
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, pageSize);
82-
83-
await Assert.ThrowsExceptionAsync<AggregateException>(async () => await collection.LoadMoreItemsAsync(0));
76+
await Assert.ThrowsExceptionAsync<AggregateException>(collection.LoadMoreItemsAsync(0).AsTask);
8477

8578
Assert.IsTrue(!collection.Any());
8679

8780
var requests = new List<Task>();
8881

89-
for (int pageNum = 1; pageNum <= pages; pageNum++)
82+
for (int pageNum = 1; pageNum <= Pages; pageNum++)
9083
{
91-
requests.Add(collection.LoadMoreItemsAsync(0).AsTask());
84+
requests.Add(collection.LoadMoreItemsAsync(0).AsTask()
85+
.ContinueWith(t => Assert.IsTrue(t.IsCompletedSuccessfully)));
9286
}
9387

9488
await Task.WhenAll(requests);
9589

96-
CollectionAssert.AreEqual(Enumerable.Range(0, pageSize * pages).ToArray(), collection);
90+
CollectionAssert.AreEqual(AllData, collection);
9791
}
9892

9993
[TestMethod]
10094
public async Task EveryOtherRequestFails()
10195
{
102-
const int pageSize = 20;
103-
const int pages = 5;
104-
105-
var source = new DataSource<int>(Enumerable.Range(0, pageSize * pages), FailPassSequence);
106-
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, pageSize);
96+
var source = new DataSource<int>(AllData, FailPassSequence);
97+
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, PageSize);
10798

10899
var willFail = true;
109-
for (int submitedRequests = 0; submitedRequests < 10; submitedRequests++)
100+
for (int submitedRequests = 0; submitedRequests < Pages * 2; submitedRequests++)
110101
{
111102
if (willFail)
112103
{
113-
await collection.LoadMoreItemsAsync(0).AsTask().ContinueWith(t => Assert.AreEqual(TaskStatus.Faulted, t.Status));
104+
await Assert.ThrowsExceptionAsync<AggregateException>(collection.LoadMoreItemsAsync(0).AsTask);
114105
}
115106
else
116107
{
117-
await collection.LoadMoreItemsAsync(0).AsTask().ContinueWith(t => Assert.AreEqual(TaskStatus.RanToCompletion, t.Status));
108+
await collection.LoadMoreItemsAsync(0);
118109
}
119110

120111
willFail = !willFail;
121112
}
122113

123-
CollectionAssert.AreEquivalent(Enumerable.Range(0, pageSize * pages).ToArray(), collection);
114+
CollectionAssert.AreEquivalent(AllData, collection);
124115
}
125116

126117
[TestMethod]
127118
public async Task EveryOtherRequestFailsAsync()
128119
{
129-
const int pageSize = 20;
130-
const int pages = 5;
131-
132-
var source = new DataSource<int>(Enumerable.Range(0, pageSize * pages), FailPassSequence);
133-
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, pageSize);
120+
var source = new DataSource<int>(AllData, FailPassSequence);
121+
var collection = new IncrementalLoadingCollection<DataSource<int>, int>(source, PageSize);
134122

135123
var requests = new List<Task>();
136124

137125
var willFail = true;
138-
for (int submitedRequests = 0; submitedRequests < 10; submitedRequests++)
126+
for (int submitedRequests = 0; submitedRequests < Pages * 2; submitedRequests++)
139127
{
140128
if (willFail)
141129
{
142-
requests.Add(Assert.ThrowsExceptionAsync<AggregateException>(() => collection.LoadMoreItemsAsync(0).AsTask()));
130+
requests.Add(Assert.ThrowsExceptionAsync<AggregateException>(collection.LoadMoreItemsAsync(0).AsTask));
143131
}
144132
else
145133
{
146-
requests.Add(collection.LoadMoreItemsAsync(0).AsTask());
134+
requests.Add(collection.LoadMoreItemsAsync(0).AsTask().ContinueWith(t => Assert.IsTrue(t.IsCompletedSuccessfully)));
147135
}
148136

149137
willFail = !willFail;
150138
}
151139

152140
await Task.WhenAll(requests);
153141

154-
CollectionAssert.AreEqual(Enumerable.Range(0, pageSize * pages).ToArray(), collection);
142+
CollectionAssert.AreEqual(AllData, collection);
155143
}
156144
}
157145
}

0 commit comments

Comments
 (0)