Esempio n. 1
0
        public void can_subscribe(string label)
        {
            var sub = new LabelSubscription();
            Action <Message> callback = msg => { };

            sub.Subscribe(label, callback);
            var actual = sub.Subscribers(label);

            Assert.AreEqual(callback, actual);
        }
Esempio n. 2
0
        public void can_unsubscribe()
        {
            var sub = new LabelSubscription();
            Action <Message> callback = msg => { };
            var unsub = sub.Subscribe("fred", callback);

            unsub.Dispose();
            var actual = sub.Subscribers("fred");

            Assert.IsNull(actual);
        }
Esempio n. 3
0
        public void can_subscribe_multiple_times()
        {
            var sub = new LabelSubscription();
            Action <Message> callback1 = msg => { };
            Action <Message> callback2 = msg => { };

            sub.Subscribe("fred", callback1);
            sub.Subscribe("fred", callback2);
            var actual        = sub.Subscribers("fred");
            var subscriptions = actual.GetInvocationList();

            Assert.IsTrue(Array.IndexOf(subscriptions, callback1) >= 0);
            Assert.IsTrue(Array.IndexOf(subscriptions, callback2) >= 0);
        }