public void ProcessUserRegistration_VerifyNotificationNotSent_WhenUserDoesNotPrefer() { var mockUserRepository = new Mock <IUserRepository>(); var mockNotificationService = new Mock <INotificationEngine>(); mockUserRepository.Setup(a => a.FindUserById(1)) .Returns(new User() { Id = 1, PrefersNotifications = false, EmailAddress = "*****@*****.**" }); manager.Factory.AddProxyOverride <IUserRepository>(mockUserRepository.Object); manager.Factory.AddProxyOverride <INotificationEngine>(mockNotificationService.Object); // Act manager.ProcessUserRegistration(1); // Assert mockUserRepository.Verify(a => a.FindUserById(1), Times.Once()); mockNotificationService.Verify(a => a.NotifyNewlyRegisteredUser(It.IsAny <User>()), Times.Never(), "The user does not prefer email notification, so do not welcome them to the site."); }