Esempio n. 1
0
        public void Test_BasicSubscribeUnsubscribe_And_TopicAccessors()
        {
            var subscriber = new MockTopicSubscriber();

            Assert.IsTrue(subscriber.IsEmptyAccessor());
            subscriber.Subscribe("test", m => { });
            Assert.IsFalse(subscriber.IsEmptyAccessor());

            IEnumerable <string> topics = subscriber.GetTopicsAccessor();

            Assert.AreEqual("test", topics.First());
            Assert.AreEqual("test", topics.Last());

            subscriber.Unsubscribe("test");
            Assert.IsTrue(subscriber.IsEmptyAccessor());
            Assert.AreEqual(0, subscriber.GetTopicsAccessor().Count());
        }
Esempio n. 2
0
        public void Test_SubscribeOverloads()
        {
            var subscriber = new MockTopicSubscriber();

            subscriber.Subscribe("test", m => Assert.AreEqual(111, m[0]));
            subscriber.InvokeSubscriptionAccessor("test", new byte[] { 111 });
            subscriber.Unsubscribe("test");
            subscriber.InvokeSubscriptionAccessor("test", new byte[] { 222 });

            subscriber.Subscribe("test1", m => Assert.AreEqual(111, m[0]));
            subscriber.Subscribe("test2", m => Assert.AreEqual(222, m[0]));
            subscriber.InvokeSubscriptionAccessor("test1", new byte[] { 111 });
            subscriber.InvokeSubscriptionAccessor("test2", new byte[] { 222 });


            subscriber.Subscribe(m => Assert.AreEqual(111, m.Data[0]), m => new MockMessage {
                Data = m
            });
            subscriber.InvokeSubscriptionAccessor(typeof(MockMessage).FullName, new byte[] { 111 });

            subscriber.Subscribe(new TopicSubscription <MockMessage>
            {
                MessageHandler = m => Assert.AreEqual(222, m.Data[0]),
                Deserializer   = m => new MockMessage {
                    Data = m
                }
            });
            subscriber.InvokeSubscriptionAccessor(typeof(MockMessage).FullName, new byte[] { 222 });

            subscriber.Subscribe(new TopicSubscription <MockMessage>
            {
                Topic          = string.Empty,
                MessageHandler = m => Assert.AreEqual(123, m.Data[0]),
                Deserializer   = m => new MockMessage {
                    Data = m
                }
            });
            subscriber.InvokeSubscriptionAccessor(string.Empty, new byte[] { 123 });
        }
Esempio n. 3
0
        public void Test_SubscribeException()
        {
            var subscriber = new MockTopicSubscriber();

            subscriber.Subscribe <MockMessage>(null);
        }