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