public void Test_ProjectUnloaded() { // Arrange. var project1 = Mock.Of <IVsProject>(); var projectInfo1 = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test1.ps1", @"C:\test2.ps1" } && p.IsPhysicalProject == true); var project2Files = new List <string> { @"C:\test3.ps1" }; var projectInfo2 = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == project2Files && p.IsPhysicalProject == true); InitializeWith(Proj(project1, projectInfo1), Proj(Mock.Of <IVsProject>(), projectInfo2)); projects.Remove(project1); // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => solutionMonitor.Raise(sm => sm.ProjectChanged += null, new ProjectChangedEventArgs(solution.Object, project1, ProjectChangeType.Unloaded))); // Assert. var container = Assert.Single(discoverer.TestContainers); Assert.Equal(@"C:\test3.ps1", container.Source); }
public void Test_CloseCommand_Raises_Closing_Event() { // Act/Assert. AssertThat.Raises <IApplication>(viewModel, vm => vm.Closing += null, () => viewModel.CloseCommand.Execute(null)); }
public void Test_Close_Raises_Closing_Event() { // Arrange. var diagramManager = CreateManager(d => null); // Act/Assert. AssertThat.Raises <IDiagramManager>(diagramManager, m => m.Closing += null, diagramManager.Close); }
public void Test_CanExecuteChanged() { // Arrange. var propertyOwner = new TestClass(); var command = Command.For(propertyOwner) .DependsOn(p => p.BoolValue) .Executes(() => { }); // Act/Assert. AssertThat.Raises(command, c => c.CanExecuteChanged += null, () => propertyOwner.BoolValue = true); }
public void Test_CanExecuteChanged_ItemAdded() { // Arrange. var parent = new TestParent(); var child = new TestItem(); var command = Command.For(parent) .DependsOnCollection(p => p.Items) .When(c => c.Any(p => p.BoolValue)) .Executes(() => { }); // Act/Assert. parent.Items.Add(child); AssertThat.Raises(command, c => c.CanExecuteChanged += null, () => child.BoolValue = true); }
public void Test_SolutionLoaded_NonPhysical_Projects_Filtered_Out() { // Arrange. var projectInfo = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test.ps2", @"file.txt", @"C:\test.ps1" } && p.IsPhysicalProject == false); projects[Mock.Of <IVsProject>()] = projectInfo; // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => solutionMonitor.Raise(sm => sm.SolutionChanged += null, new SolutionChangedEventArgs(solution.Object, SolutionChangeType.Loaded))); // Assert. Assert.Empty(discoverer.TestContainers); }
public void Test_PropertyChanged_CustomEquals() { // Arrange. var property = new Property <CustomEquals>("property", OnPropertyChanged) { Value = new CustomEquals(2) }; // Act/Assert. AssertThat.Raises <INotifyPropertyChanged>( this, p => p.PropertyChanged += null, () => property.Value = new CustomEquals(-1)); Assert.Equal(-1, property.Value.Value); }
public void Test_SolutionLoaded() { // Arrange. var projectInfo = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test.ps2", @"file.txt", @"C:\test.ps1" } && p.IsPhysicalProject == true); projects[Mock.Of <IVsProject>()] = projectInfo; // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => solutionMonitor.Raise(sm => sm.SolutionChanged += null, new SolutionChangedEventArgs(solution.Object, SolutionChangeType.Loaded))); // Assert. var container = Assert.Single(discoverer.TestContainers); Assert.Equal(@"C:\test.ps1", container.Source); Assert.Equal(discoverer, container.Discoverer); }
public void Test_File_Changed() { // Arrange. var project = Mock.Of <IVsProject>(); var projectInfo = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test1.ps1", @"C:\test2.ps1" } && p.IsPhysicalProject == true); InitializeWith(Proj(project, projectInfo)); // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => fileWatcher.Raise(fw => fw.Changed += null, new FileSystemEventArgs(WatcherChangeTypes.Changed, @"C:\", "test1.ps1"))); var containers = discoverer.TestContainers.OrderBy(t => t.Source).ToList(); // Assert. Assert.Equal(2, containers.Count); Assert.Equal(@"C:\test1.ps1", containers[0].Source); Assert.Equal(@"C:\test2.ps1", containers[1].Source); }
public void Test_File_Removed() { // Arrange. var project = Mock.Of <IVsProject>(); var projectInfo = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test1.ps1", @"C:\test2.ps1", @"C:\test3.ps1" } && p.IsPhysicalProject == true); InitializeWith(Proj(project, projectInfo)); // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => projectMonitor.Raise(pm => pm.FileChanged += null, new ProjectFileChangedEventArgs(project, @"C:\test2.ps1", FileChangeType.Removed))); var containers = discoverer.TestContainers.OrderBy(t => t.Source).ToList(); // Assert. Assert.Equal(2, containers.Count); Assert.Equal(@"C:\test1.ps1", containers.First().Source); Assert.Equal(@"C:\test3.ps1", containers.Last().Source); }
public void Test_ProjectLoaded() { // Arrange. var project = Mock.Of <IVsProject>(); var projectInfo = Mock.Of <IProjectInfo>(p => p.GetProjectItems() == new[] { @"C:\test1.ps1" } && p.IsPhysicalProject == true); projects[project] = projectInfo; // Act. AssertThat.Raises <ITestContainerDiscoverer>(discoverer, d => d.TestContainersUpdated += null, () => solutionMonitor.Raise(sm => sm.ProjectChanged += null, new ProjectChangedEventArgs(solution.Object, project, ProjectChangeType.Loaded))); var containers = discoverer.TestContainers.OrderBy(t => t.Source).ToList(); // Assert. var container = Assert.Single(containers); Assert.Equal(@"C:\test1.ps1", container.Source); }
public void Test_CanExecuteChanged() { // Arrange. var parent = new TestParent(); var child1 = new TestItem(); var child2 = new TestItem(); var command = Command.For(parent) .DependsOnCollection(p => p.Items) .When(c => c.Any(p => p.BoolValue)) .Executes(() => { }); parent.Items.Add(child1); parent.Items.Add(child2); // Act/Assert. foreach (var child in parent.Items) { var localChild = child; AssertThat.Raises(command, c => c.CanExecuteChanged += null, () => localChild.BoolValue = true); AssertThat.DoesNotRaise(command, c => c.CanExecuteChanged += null, () => localChild.BoolValue = true); } }