Skip to content

Commit d7eb668

Browse files
author
Kenneth Tucker
committed
fix build and codeql suggestions
1 parent e9b5274 commit d7eb668

File tree

1 file changed

+42
-39
lines changed

1 file changed

+42
-39
lines changed

src/Caliburn.Micro.Core.Tests/EventAggregatorExtensionsTests.cs

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ namespace Caliburn.Micro.Core.Tests
77
{
88
public class EventAggregatorExtensionsTests
99
{
10-
11-
12-
13-
10+
const int NumberOfMockTargets = 20;
1411
[Fact]
1512
public void SubscribeOnUIThread_CallsSubscribeWithUIThreadMarshaller()
1613
{
@@ -24,9 +21,9 @@ public void SubscribeOnUIThread_CallsSubscribeWithUIThreadMarshaller()
2421
mockAggregator.Object.SubscribeOnUIThread(subscriber);
2522

2623
Assert.NotNull(capturedMarshaller);
27-
// UI thread marshaller returns a Task
28-
var tcs = new TaskCompletionSource<bool>();
29-
var task = capturedMarshaller(() => { tcs.SetResult(true); return tcs.Task; });
24+
// UI thread marshaler returns a Task
25+
var taskSource = new TaskCompletionSource<bool>();
26+
var task = capturedMarshaller(() => { taskSource.SetResult(true); return taskSource.Task; });
3027
Assert.IsAssignableFrom<Task>(task);
3128
}
3229

@@ -35,15 +32,18 @@ public async Task PublishOnCurrentThreadAsync_CallsPublishAsyncWithDirectMarshal
3532
{
3633
var eventAggregator = new EventAggregator();
3734
string message = "Test";
38-
var cancellationToken = new CancellationTokenSource().Token;
39-
var mockTarget1 = new Mock<IHandle<string>>();
40-
var mockTarget2 = new Mock<IHandle<string>>();
41-
eventAggregator.SubscribeOnPublishedThread(mockTarget1.Object);
42-
eventAggregator.SubscribeOnPublishedThread(mockTarget2.Object);
43-
await eventAggregator.PublishOnCurrentThreadAsync(message, cancellationToken);
44-
45-
mockTarget1.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
46-
mockTarget2.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
35+
using (var tokenSource = new CancellationTokenSource())
36+
{
37+
var cancellationToken = tokenSource.Token;
38+
var mockTarget1 = new Mock<IHandle<string>>();
39+
var mockTarget2 = new Mock<IHandle<string>>();
40+
eventAggregator.SubscribeOnPublishedThread(mockTarget1.Object);
41+
eventAggregator.SubscribeOnPublishedThread(mockTarget2.Object);
42+
await eventAggregator.PublishOnCurrentThreadAsync(message, cancellationToken);
43+
44+
mockTarget1.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
45+
mockTarget2.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
46+
}
4747
}
4848

4949

@@ -52,40 +52,43 @@ public async Task PublishOnBackgroundThreadAsync_CallsPublishAsyncWithBackground
5252
{
5353
var eventAggregator = new EventAggregator();
5454
var message = new object();
55-
var cancellationToken = new CancellationTokenSource().Token;
56-
var mockTarget1 = new Mock<IHandle<object>>();
57-
eventAggregator.SubscribeOnPublishedThread(mockTarget1.Object);
55+
using (var tokenSource = new CancellationTokenSource())
56+
{
57+
var cancellationToken = tokenSource.Token;
58+
var mockTarget1 = new Mock<IHandle<object>>();
59+
eventAggregator.SubscribeOnPublishedThread(mockTarget1.Object);
5860

5961

60-
await eventAggregator.PublishOnBackgroundThreadAsync(message, cancellationToken);
62+
await eventAggregator.PublishOnBackgroundThreadAsync(message, cancellationToken);
6163

62-
mockTarget1.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
64+
mockTarget1.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
65+
}
6366
}
6467

6568
[Fact]
6669
public async Task PublishOnCurrentThreadAsync_CallsHandleAsyncOnAllSubscribedTargets()
6770
{
6871
var eventAggregator = new EventAggregator();
6972
string message = "Test";
70-
var cancellationToken = new CancellationTokenSource().Token;
71-
72-
// Create 20 mock targets
73-
var mockTargets = new Mock<IHandle<object>>[20];
74-
for (int i = 0; i < mockTargets.Length; i++)
75-
{
76-
var mockTargets = new Mock<IHandle<string>>[20];
77-
for (int i = 0; i < mockTargets.Length; i++)
78-
{
79-
mockTargets[i] = new Mock<IHandle<string>>();
80-
eventAggregator.SubscribeOnPublishedThread(mockTargets[i].Object);
81-
}
82-
83-
await eventAggregator.PublishOnCurrentThreadAsync(message, cancellationToken);
84-
85-
// Verify HandleAsync was called on each
86-
foreach (var mockTarget in mockTargets)
73+
using (var tokenSource = new CancellationTokenSource())
8774
{
88-
mockTarget.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
75+
var cancellationToken = tokenSource.Token;
76+
77+
// Create 20 mock targets
78+
var mockTargets = new Mock<IHandle<string>>[NumberOfMockTargets];
79+
for (int i = 0; i < mockTargets.Length; i++)
80+
{
81+
mockTargets[i] = new Mock<IHandle<string>>();
82+
eventAggregator.SubscribeOnPublishedThread(mockTargets[i].Object);
83+
}
84+
85+
await eventAggregator.PublishOnCurrentThreadAsync(message, cancellationToken);
86+
87+
// Verify HandleAsync was called on each
88+
foreach (var mockTarget in mockTargets)
89+
{
90+
mockTarget.Verify(x => x.HandleAsync(message, cancellationToken), Times.Once);
91+
}
8992
}
9093
}
9194
}

0 commit comments

Comments
 (0)