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