示例#1
0
        public void NotCallUpdate_WhenObserverNotAttachedToSubject()
        {
            // Arrange
            var subject      = new SpecialsSubject();
            var mockObserver = new Mock <IObserver>();

            // Act
            subject.SubjectState = "Footwear Sale";
            subject.Notify();
            // Assert
            mockObserver.Verify(observer => observer.Update(subject), Times.Never());
        }
示例#2
0
        public void UpdateObserverOnce_WhenSubjectHasSpecials()
        {
            // Arrange
            var subject      = new SpecialsSubject();
            var mockObserver = new Mock <IObserver>();

            // Act
            subject.Attach(mockObserver.Object);
            subject.SubjectState = "Footwear Sale";
            subject.Notify();
            // Assert
            mockObserver.Verify(observer => observer.Update(subject), Times.Once());
        }