Example #1
0
        public void Register_Observer3()
        {
            // Arrange
            var subject   = new Subject();
            var observer3 = new Observer3();
            // Act
            var unsubscriber3 = observer3.Register(subject);

            // Assert
            Assert.AreEqual(1, subject.Observers.Count);
        }
Example #2
0
        public void Dispose_Any_Observer()
        {
            // Arrange
            var subject       = new Subject();
            var observer1     = new Observer1();
            var observer2     = new Observer2();
            var observer3     = new Observer3();
            var unsubscriber1 = observer1.Register(subject);
            var unsubscriber2 = observer2.Register(subject);
            var unsubscriber3 = observer3.Register(subject);

            // Act
            unsubscriber2.Dispose();
            // Assert
            Assert.AreEqual(2, subject.Observers.Count);
        }
Example #3
0
        public Test()
        {
            var subject = new Subject();
            var observ1 = new Observer1();

            subject.Add(observ1);

            var observ2 = new Observer2();

            subject.Add(observ2);

            subject.SomeBusinessLogic();
            subject.SomeBusinessLogic();

            subject.Delete(observ2);

            subject.SomeBusinessLogic();

            var observ3 = new Observer3();

            subject.Add(observ3);
            subject.SomeBusinessLogic();
        }