public void ValidateObserver_Register_Method() { var topic = new Topic(); var sub1 = new Subscriber(); var sub2 = new Subscriber(); var sub3 = new ADigitalSubscriber(); Assert.Equal(0, topic.SubscribersCount()); topic.Register(sub1); topic.Register(sub2); topic.Register(sub3); Assert.Equal(3, topic.SubscribersCount()); }
public void ValidateObserverDefinition() { var topic = new Topic(); var sub1 = new Subscriber(); var sub2 = new Subscriber(); var sub3 = new ADigitalSubscriber(); topic.Register(sub1); topic.Register(sub2); topic.Register(sub3); Assert.Equal(topic.CurrentContent, sub1.GetInformationFromTopic()); Assert.Equal(sub1.GetInformationFromTopic(), sub2.GetInformationFromTopic()); Assert.Equal(sub2.GetInformationFromTopic(), sub3.GetInformationFromTopic()); topic.DoSomething(); Assert.Equal(topic.CurrentContent, sub1.GetInformationFromTopic()); Assert.Equal(sub1.GetInformationFromTopic(), sub2.GetInformationFromTopic()); Assert.Equal(sub2.GetInformationFromTopic(), sub3.GetInformationFromTopic()); }