mirror of
https://github.com/chylex/.NET-Community-Toolkit.git
synced 2025-04-10 11:15:45 +02:00
Fixed unit test for generated RegisterAll method
This commit is contained in:
parent
1694bd2d21
commit
6b96fcd4ea
@ -2,7 +2,8 @@
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
#pragma warning disable CS0618
|
||||
|
||||
using Microsoft.Toolkit.Mvvm.Messaging;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
@ -13,24 +14,49 @@ public partial class Test_IRecipientGenerator
|
||||
{
|
||||
[TestCategory("Mvvm")]
|
||||
[TestMethod]
|
||||
public void Test_Messenger_UnregisterRecipientWithMessageType(Type type)
|
||||
public void Test_IRecipientGenerator_GeneratedRegistration()
|
||||
{
|
||||
var messenger = (IMessenger)Activator.CreateInstance(type);
|
||||
var recipient = new object();
|
||||
var messenger = new StrongReferenceMessenger();
|
||||
var recipient = new RecipientWithSomeMessages();
|
||||
|
||||
messenger.Unregister<MessageA>(recipient);
|
||||
var messageA = new MessageA();
|
||||
var messageB = new MessageB();
|
||||
|
||||
Microsoft.Toolkit.Mvvm.Messaging.__Internals.__IMessengerExtensions.RegisterAll(messenger, recipient, 42);
|
||||
|
||||
Assert.IsTrue(messenger.IsRegistered<MessageA, int>(recipient, 42));
|
||||
Assert.IsTrue(messenger.IsRegistered<MessageB, int>(recipient, 42));
|
||||
|
||||
Assert.IsNull(recipient.A);
|
||||
Assert.IsNull(recipient.B);
|
||||
|
||||
messenger.Send(messageA, 42);
|
||||
|
||||
Assert.AreSame(recipient.A, messageA);
|
||||
Assert.IsNull(recipient.B);
|
||||
|
||||
messenger.Send(messageB, 42);
|
||||
|
||||
Assert.AreSame(recipient.A, messageA);
|
||||
Assert.AreSame(recipient.B, messageB);
|
||||
}
|
||||
|
||||
public sealed class RecipientWithSomeMessages :
|
||||
IRecipient<MessageA>,
|
||||
IRecipient<MessageB>
|
||||
{
|
||||
public MessageA A { get; private set; }
|
||||
|
||||
public MessageB B { get; private set; }
|
||||
|
||||
public void Receive(MessageA message)
|
||||
{
|
||||
A = message;
|
||||
}
|
||||
|
||||
public void Receive(MessageB message)
|
||||
{
|
||||
B = message;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user