Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 76d9f61

Browse files
committed
Fix test, it was expecting data to be in an order that isn't reliable
1 parent 1200e03 commit 76d9f61

File tree

1 file changed

+18
-16
lines changed
  • src/tests/TaskSystemIntegrationTests

1 file changed

+18
-16
lines changed

src/tests/TaskSystemIntegrationTests/Tests.cs

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -264,38 +264,40 @@ public void ConcurrentSchedulerWithDependencyOrdering()
264264
var runningOrder = new List<int>();
265265
var rand = new Randomizer();
266266
var startTasks = new List<ActionTask>();
267-
var i = 1;
268-
for (var start = i; i < start + count; i++)
267+
for (var i = 0; i < count; i++)
269268
{
270-
startTasks.Add(GetTask(TaskAffinity.Concurrent, i,
269+
startTasks.Add(GetTask(TaskAffinity.Concurrent, i + 1,
271270
id => { new ManualResetEventSlim().Wait(rand.Next(100, 200)); lock (runningOrder) runningOrder.Add(id); }));
272271
}
273272

274273
var midTasks = new List<ActionTask>();
275-
for (var start = i; i < start + count; i++)
274+
for (var i = 0; i < count; i++)
276275
{
277-
midTasks.Add(startTasks[i - 4].Then(
278-
GetTask(TaskAffinity.Concurrent, i,
279-
id => { new ManualResetEventSlim().Wait(rand.Next(100, 200)); lock (runningOrder) runningOrder.Add(id); }))
280-
);;
276+
var previousTask = startTasks[i];
277+
midTasks.Add(previousTask.Then(GetTask(TaskAffinity.Concurrent, i + 11,
278+
id => { new ManualResetEventSlim().Wait(rand.Next(100, 200)); lock (runningOrder) runningOrder.Add(id); }))
279+
);;
281280
}
282281

283282
var endTasks = new List<ActionTask>();
284-
for (var start = i; i < start + count; i++)
283+
for (var i = 0; i < count; i++)
285284
{
286-
endTasks.Add(midTasks[i - 7].Then(
287-
GetTask(TaskAffinity.Concurrent, i,
288-
id => { new ManualResetEventSlim().Wait(rand.Next(100, 200)); lock (runningOrder) runningOrder.Add(id); }
289-
)));
285+
var previousTask = midTasks[i];
286+
endTasks.Add(previousTask.Then(GetTask(TaskAffinity.Concurrent, i + 21,
287+
id => { new ManualResetEventSlim().Wait(rand.Next(100, 200)); lock (runningOrder) runningOrder.Add(id); }))
288+
);
290289
}
291290

292291
foreach (var t in endTasks)
293292
t.Start();
294293
Task.WaitAll(endTasks.Select(x => x.Task).ToArray());
295294

296-
CollectionAssert.AreEquivalent(Enumerable.Range(1, 3), runningOrder.Take(3));
297-
CollectionAssert.AreEquivalent(Enumerable.Range(4, 3), runningOrder.Skip(3).Take(3));
298-
CollectionAssert.AreEquivalent(Enumerable.Range(7, 3), runningOrder.Skip(6).Take(3));
295+
Assert.True(runningOrder.IndexOf(21) > runningOrder.IndexOf(11));
296+
Assert.True(runningOrder.IndexOf(11) > runningOrder.IndexOf(1));
297+
Assert.True(runningOrder.IndexOf(22) > runningOrder.IndexOf(12));
298+
Assert.True(runningOrder.IndexOf(12) > runningOrder.IndexOf(2));
299+
Assert.True(runningOrder.IndexOf(23) > runningOrder.IndexOf(13));
300+
Assert.True(runningOrder.IndexOf(13) > runningOrder.IndexOf(3));
299301
}
300302

301303
[Test]

0 commit comments

Comments
 (0)