Esempio n. 1
0
        public void NullSetTest2()
        {
            var subj2  = new SubscriberSubject2();
            var target = subj2.Publisher1 = subj2.Publisher2 = new PublisherSubject1();

            subj2.SubscribePublisher1();
            subj2.SubscribePublisher2();
            Assert.AreEqual(2, target.GetInvocationList().Count());
            subj2.Publisher1.DisposedHandlers += (s, e) => { subj2.Publisher2 = null; };
            subj2.Publisher1.Dispose();
            subj2.Publisher1 = null;
            Assert.AreEqual(0, target.GetInvocationList().Count());
        }
Esempio n. 2
0
        public void MultipleSubscriptionsTest3()
        {
            var subj2  = new SubscriberSubject2();
            var target = subj2.Publisher1 = subj2.Publisher2 = new PublisherSubject1();

            subj2.SubscribePublisher1();
            subj2.SubscribePublisher2();
            target.OneProperty = "Joe1";
            Assert.AreEqual(1, subj2.Pub1PropertyChanges);
            Assert.AreEqual(1, subj2.Pub2PropertyChanges);
            target.Dispose();
            target.OneProperty = "Joe2";
            Assert.AreEqual(1, subj2.Pub1PropertyChanges);
            Assert.AreEqual(1, subj2.Pub2PropertyChanges);
        }
Esempio n. 3
0
        public void MultipleSubscriptionsTest1()
        {
            var subj2  = new SubscriberSubject2();
            var target = subj2.Publisher1 = subj2.Publisher2 = new PublisherSubject1();

            Assert.AreEqual(0, target.GetInvocationList().Count());
            subj2.SubscribePublisher1();
            subj2.SubscribePublisher2();
            Assert.AreEqual(2, target.GetInvocationList().Count());
            Assert.AreEqual(1, target.GetSubscribersTypesList().Count());
            Assert.AreEqual(2, target.GetMethodsNamesList().Count());

            target.OneProperty = "Joe1";
            Assert.AreEqual(1, subj2.Pub1PropertyChanges);
            Assert.AreEqual(1, subj2.Pub2PropertyChanges);
            subj2.UnSubscribePublisher1();
            target.OneProperty = "Joe2";
            Assert.AreEqual(1, subj2.Pub1PropertyChanges);
            Assert.AreEqual(2, subj2.Pub2PropertyChanges);
        }