Пример #1
0
 public void GetSubscriptionTagsIsCorrect()
 {
     var testTag1 = "TestTag1";
     var testTag2 = "TestTag2";
     var messenger = new MvxMessengerHub();
     Assert.IsEmpty(messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>());
     Assert.IsEmpty(messenger.GetSubscriptionTagsFor<TestMessage>());
     var changeToken = messenger.Subscribe<MvxSubscriberChangeMessage>(message => { });
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.IsEmpty(messenger.GetSubscriptionTagsFor<TestMessage>());
     var token = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag: testTag1);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
     Assert.AreEqual(testTag1, messenger.GetSubscriptionTagsFor<TestMessage>()[0]);
     var token2 = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag: testTag1);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(2, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
     Assert.AreEqual(testTag1, messenger.GetSubscriptionTagsFor<TestMessage>()[0]);
     Assert.AreEqual(testTag1, messenger.GetSubscriptionTagsFor<TestMessage>()[1]);
     var token3 = messenger.Subscribe<TestMessage>(m =>
     {
         // stuff
     }, tag: testTag2);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(3, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
     Assert.AreEqual(2, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag1).Count());
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag2).Count());
     messenger.Unsubscribe<TestMessage>(token);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(2, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag1).Count());
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag2).Count());
     messenger.Unsubscribe<TestMessage>(token2);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
     Assert.AreEqual(0, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag1).Count());
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<TestMessage>().Where(x => x == testTag2).Count());
     messenger.Unsubscribe<TestMessage>(token3);
     Assert.AreEqual(1, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>().Count);
     Assert.AreEqual(null, messenger.GetSubscriptionTagsFor<MvxSubscriberChangeMessage>()[0]);
     Assert.AreEqual(0, messenger.GetSubscriptionTagsFor<TestMessage>().Count);
 }
Пример #2
0
        public void GetSubscriptionTagsIsCorrect()
        {
            var testTag1  = "TestTag1";
            var testTag2  = "TestTag2";
            var messenger = new MvxMessengerHub();

            Assert.IsEmpty(messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>());
            Assert.IsEmpty(messenger.GetSubscriptionTagsFor <TestMessage>());
            var changeToken = messenger.Subscribe <MvxSubscriberChangeMessage>(message => { });

            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.IsEmpty(messenger.GetSubscriptionTagsFor <TestMessage>());
            var token = messenger.Subscribe <TestMessage>(m =>
            {
                // stuff
            }, tag: testTag1);

            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Count);
            Assert.AreEqual(testTag1, messenger.GetSubscriptionTagsFor <TestMessage>()[0]);
            var token2 = messenger.Subscribe <TestMessage>(m =>
            {
                // stuff
            }, tag: testTag1);

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

            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.AreEqual(3, messenger.GetSubscriptionTagsFor <TestMessage>().Count);
            Assert.AreEqual(2, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag1).Count());
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag2).Count());
            messenger.Unsubscribe <TestMessage>(token);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.AreEqual(2, messenger.GetSubscriptionTagsFor <TestMessage>().Count);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag1).Count());
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag2).Count());
            messenger.Unsubscribe <TestMessage>(token2);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Count);
            Assert.AreEqual(0, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag1).Count());
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <TestMessage>().Where(x => x == testTag2).Count());
            messenger.Unsubscribe <TestMessage>(token3);
            Assert.AreEqual(1, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>().Count);
            Assert.AreEqual(null, messenger.GetSubscriptionTagsFor <MvxSubscriberChangeMessage>()[0]);
            Assert.AreEqual(0, messenger.GetSubscriptionTagsFor <TestMessage>().Count);
        }