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); }
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); }