public void Is_Less_Than_18_And_Does_Not_Get_Email() { var mockCustomer = new Mock <ICustomer>(); mockCustomer.SetupAllProperties(); var mockValidator = new Mock <ICustomerValidator>(); mockValidator.Setup(p => p.ValidateCustomer(mockCustomer.Object)).Returns(false); var mockSender = new Mock <INotificationSender>(); WorkflowManager manager = new WorkflowManager(mockValidator.Object, mockSender.Object); manager.AddCustomer(mockCustomer.Object); mockValidator.Verify(p => p.ValidateCustomer(mockCustomer.Object), Times.Once); mockCustomer.VerifySet(p => p.Valid = false); mockCustomer.VerifyGet(p => p.Valid, Times.AtLeastOnce); mockSender.Verify(p => p.Send(mockCustomer.Object), Times.Never); }