public void SubscribeAndUnsubscribeCauseChangeMessages()
{
var messenger = new MvxMessengerHub();
MvxSubscriberChangeMessage subscriberChangeMessage = null;
var changeToken = messenger.Subscribe<MvxSubscriberChangeMessage>(message => subscriberChangeMessage = message);
var token = messenger.Subscribe<TestMessage>(m =>
{
// stuff
});
Assert.NotNull(subscriberChangeMessage);
Assert.AreEqual(1, subscriberChangeMessage.SubscriberCount);
Assert.AreEqual(typeof(TestMessage), subscriberChangeMessage.MessageType);
subscriberChangeMessage = null;
messenger.Unsubscribe<TestMessage>(token);
Assert.NotNull(subscriberChangeMessage);
Assert.AreEqual(0, subscriberChangeMessage.SubscriberCount);
Assert.AreEqual(typeof(TestMessage), subscriberChangeMessage.MessageType);
}