public void RedisRemoveDesignerViewModel_Constructor_ModelItemIsValid_UpdateHelpDescriptor() { var expectedHelpText = "redis help text"; var mockHelpViewModel = new Mock <IHelpWindowViewModel>(); mockHelpViewModel.Setup(helpViewModel => helpViewModel.UpdateHelpText(expectedHelpText)); var mockShellViewModel = new Mock <IShellViewModel>(); mockShellViewModel.Setup(shellViewModel => shellViewModel.HelpViewModel).Returns(mockHelpViewModel.Object); CustomContainer.Register(mockShellViewModel.Object); var expectedId = Guid.NewGuid(); var redisSource = new RedisSource { ResourceID = expectedId, ResourceName = "ResourceName", HostName = "HostName", Port = "6379", AuthenticationType = Runtime.ServiceModel.Data.AuthenticationType.Anonymous }; var redisSources = new List <RedisSource> { redisSource }; var mockResourceRepository = new Mock <IResourceRepository>(); mockResourceRepository.Setup(resourceRepository => resourceRepository.FindSourcesByType <RedisSource>(It.IsAny <IServer>(), enSourceType.RedisSource)).Returns(redisSources); var mockServer = new Mock <IServer>(); mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object); //------------Execute Test--------------------------- var redisRemoveDesignerViewModel = new RedisRemoveDesignerViewModel(CreateModelItem(), mockServer.Object, mockShellViewModel.Object); Assert.AreEqual("Use the Redis Remove tool to remove existing key with data from cache.", redisRemoveDesignerViewModel.HelpText); redisRemoveDesignerViewModel.UpdateHelpDescriptor(expectedHelpText); mockHelpViewModel.Verify(helpViewModel => helpViewModel.UpdateHelpText(expectedHelpText), Times.Once); }