public void Observer_FM_TwoSubscribers_SubcribersCalled() { Newspaper_FM herald = new Newspaper_FM("Herald"); Subscriber_FM subscriber1 = new Subscriber_FM(); Subscriber_FM subscriber2 = new Subscriber_FM(); IDisposable unSubscriber1 = herald.Subscribe(subscriber1); IDisposable unSubscriber2 = herald.Subscribe(subscriber2); // not called before being resistered: herald.NewIssue("issue number 1"); herald.NewIssue("issue number 2"); Assert.AreEqual(2, subscriber1.LatestIssueNumber); Assert.AreEqual(2, subscriber2.LatestIssueNumber); }
public void Observer_FM_OneSubscriber_SubcriberCalled() { Newspaper_FM herald = new Newspaper_FM("herald"); Subscriber_FM subscriber1 = new Subscriber_FM(); IDisposable unSubscriber1 = herald.Subscribe(subscriber1); Console.WriteLine("Testing: {0}", 6.ToString()); herald.NewIssue("issue number 1"); Assert.AreEqual(1, subscriber1.LatestIssueNumber); }
public void Observer_FM_SubscriberNotCalledAfterBeingRemoved() { Newspaper_FM herald = new Newspaper_FM("Herald"); Subscriber_FM subscriber1 = new Subscriber_FM(); IDisposable unSubscriber1 = herald.Subscribe(subscriber1); // not called before being resistered: herald.NewIssue("issue number 1"); unSubscriber1.Dispose(); herald.NewIssue("issue number 2"); Assert.AreEqual(1, subscriber1.LatestIssueNumber); }