Skip to content

Commit 93456ae

Browse files
committed
Added tests for correct recipients
1 parent 3293fa6 commit 93456ae

File tree

2 files changed

+40
-5
lines changed

2 files changed

+40
-5
lines changed

UnitTests/UnitTests.Shared/Mvvm/Test_Messenger.Request.cs

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ public void Test_Messenger_RequestMessage_Ok()
1919
{
2020
var messenger = new Messenger();
2121
var recipient = new object();
22+
object test = null;
2223

2324
void Receive(object recipient, NumberRequestMessage m)
2425
{
26+
test = recipient;
27+
2528
Assert.IsFalse(m.HasReceivedResponse);
2629

2730
m.Reply(42);
@@ -33,6 +36,7 @@ void Receive(object recipient, NumberRequestMessage m)
3336

3437
int result = messenger.Send<NumberRequestMessage>();
3538

39+
Assert.AreSame(test, recipient);
3640
Assert.AreEqual(result, 42);
3741
}
3842

@@ -181,11 +185,28 @@ public void Test_Messenger_CollectionRequestMessage_Ok_MultipleReplies()
181185
object
182186
recipient1 = new object(),
183187
recipient2 = new object(),
184-
recipient3 = new object();
188+
recipient3 = new object(),
189+
r1 = null,
190+
r2 = null,
191+
r3 = null;
185192

186-
void Receive1(object recipient, NumbersCollectionRequestMessage m) => m.Reply(1);
187-
void Receive2(object recipient, NumbersCollectionRequestMessage m) => m.Reply(2);
188-
void Receive3(object recipient, NumbersCollectionRequestMessage m) => m.Reply(3);
193+
void Receive1(object recipient, NumbersCollectionRequestMessage m)
194+
{
195+
r1 = recipient;
196+
m.Reply(1);
197+
}
198+
199+
void Receive2(object recipient, NumbersCollectionRequestMessage m)
200+
{
201+
r2 = recipient;
202+
m.Reply(2);
203+
}
204+
205+
void Receive3(object recipient, NumbersCollectionRequestMessage m)
206+
{
207+
r3 = recipient;
208+
m.Reply(3);
209+
}
189210

190211
messenger.Register<NumbersCollectionRequestMessage>(recipient1, Receive1);
191212
messenger.Register<NumbersCollectionRequestMessage>(recipient2, Receive2);
@@ -198,6 +219,10 @@ public void Test_Messenger_CollectionRequestMessage_Ok_MultipleReplies()
198219
responses.Add(response);
199220
}
200221

222+
Assert.AreSame(r1, recipient1);
223+
Assert.AreSame(r2, recipient2);
224+
Assert.AreSame(r3, recipient3);
225+
201226
CollectionAssert.AreEquivalent(responses, new[] { 1, 2, 3 });
202227
}
203228

UnitTests/UnitTests.Shared/Mvvm/Test_Messenger.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,22 +115,32 @@ public void Test_Messenger_IsRegistered_Register_Send_UnregisterOfTMessage_WithN
115115

116116
Assert.IsFalse(Messenger.Default.IsRegistered<MessageA>(a));
117117

118+
object recipient = null;
118119
string result = null;
119-
Messenger.Default.Register<MessageA>(a, (r, m) => result = m.Text);
120+
121+
Messenger.Default.Register<MessageA>(a, (r, m) =>
122+
{
123+
recipient = r;
124+
result = m.Text;
125+
});
120126

121127
Assert.IsTrue(Messenger.Default.IsRegistered<MessageA>(a));
122128

123129
Messenger.Default.Send(new MessageA { Text = nameof(MessageA) });
124130

131+
Assert.AreSame(recipient, a);
125132
Assert.AreEqual(result, nameof(MessageA));
126133

127134
Messenger.Default.Unregister<MessageA>(a);
128135

129136
Assert.IsFalse(Messenger.Default.IsRegistered<MessageA>(a));
130137

138+
recipient = null;
131139
result = null;
140+
132141
Messenger.Default.Send(new MessageA { Text = nameof(MessageA) });
133142

143+
Assert.IsNull(recipient);
134144
Assert.IsNull(result);
135145
}
136146

0 commit comments

Comments
 (0)