public void OnCurrentProjectChanged_ClearsProjectItems_WhenProjectIsClosed() { // Arrange var vm = GetViewModel(); var project = Substitute.For <IProject>(); var projectItemViewModel = new ProjectRootViewModel(project, _projectExplorerItemViewModelFactory, _addContextMenuItemFactory); vm.Items.Add(projectItemViewModel); _projectService.ProjectIsOpen.Returns(false); // Act _projectService.CurrentProjectChanged += Raise.Event(); // Assert Assert.That(vm.Items, Has.Count.EqualTo(0)); }
public void OnCurrentProjectChanged_AddsProjectItems_WhenProjectIsOpened() { // Arrange var vm = GetViewModel(); var project = Substitute.For <IProject>(); var projectItemViewModel = new ProjectRootViewModel(project, _projectExplorerItemViewModelFactory, _addContextMenuItemFactory); _projectExplorerItemViewModelFactory.Create(project).Returns(projectItemViewModel); _projectService.CurrentProject.Returns(project); _projectService.ProjectIsOpen.Returns(true); // Act _projectService.CurrentProjectChanged += Raise.Event(); // Assert Assert.That(vm.Items, Has.Count.EqualTo(1)); Assert.That(vm.Items.Single(), Is.EqualTo(projectItemViewModel)); }