public void CountSubscriptionsForTagIsCorrect()
 {
     var testTag1 = "TestTag1";
     var testTag2 = "TestTag2";
     var notExistingTag = "NotExistingTag";
     var messenger = new MvxMessengerHub();
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     var changeToken = messenger.Subscribe<MvxSubscriberChangeMessage>(message => { });
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     var token = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag:testTag1);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     var token2 = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag:testTag1);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(2, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     var token3 = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag: testTag2);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(2, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     messenger.Unsubscribe<TestMessage>(token);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     messenger.Unsubscribe<TestMessage>(token2);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
     messenger.Unsubscribe<TestMessage>(token3);
     Assert.AreEqual(1, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(null));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<MvxSubscriberChangeMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag1));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(testTag2));
     Assert.AreEqual(0, messenger.CountSubscriptionsForTag<TestMessage>(notExistingTag));
 }
示例#2
0
        public void CountSubscriptionsForTagIsCorrect()
        {
            var testTag1       = "TestTag1";
            var testTag2       = "TestTag2";
            var notExistingTag = "NotExistingTag";
            var messenger      = new MvxMessengerHub();

            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            var changeToken = messenger.Subscribe <MvxSubscriberChangeMessage>(message => { });

            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            var token = messenger.Subscribe <TestMessage>(m =>
            {
                // stuff
            }, tag: testTag1);

            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            var token2 = messenger.Subscribe <TestMessage>(m =>
            {
                // stuff
            }, tag: testTag1);

            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(2, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            var token3 = messenger.Subscribe <TestMessage>(m =>
            {
                // stuff
            }, tag: testTag2);

            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(2, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            messenger.Unsubscribe <TestMessage>(token);
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            messenger.Unsubscribe <TestMessage>(token2);
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
            messenger.Unsubscribe <TestMessage>(token3);
            Assert.AreEqual(1, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(null));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <MvxSubscriberChangeMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag1));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(testTag2));
            Assert.AreEqual(0, messenger.CountSubscriptionsForTag <TestMessage>(notExistingTag));
        }