public void Project_Test() { var fileSystem = MockRepository.GenerateStub<IFileSystem>(); var projectTreeModel = new ProjectTreeModel(fileSystem); var project = new TestProject(); projectTreeModel.TestProject = project; Assert.AreEqual(project, projectTreeModel.TestProject); }
public void DeleteFilter_Test() { var testProject = new TestProject(); projectTreeModel.TestProject = testProject; var progressMonitor = MockProgressMonitor.Instance; Assert.Count(0, projectController.TestFilters.Value); FilterInfo filterInfo = new FilterInfo("filterName", new NoneFilter<ITestDescriptor>().ToFilterExpr()); projectController.TestFilters.Value.Add(filterInfo); Assert.Count(1, projectController.TestFilters.Value); projectController.DeleteFilter(progressMonitor, filterInfo); Assert.Count(0, projectController.TestFilters.Value); }
public void AddFiles_Test() { TestProject testProject = new TestProject(); projectTreeModel.TestProject = testProject; string fileName = Assembly.GetExecutingAssembly().Location; List<string> list = new List<string>(new[] { fileName }); fileSystem.Stub(fs => fs.FileExists(fileName)).Return(true); var progressMonitor = MockProgressMonitor.Instance; Assert.Count(0, projectController.TestPackage.Files); projectController.AddFiles(progressMonitor, list); Assert.Count(1, projectController.TestPackage.Files); Assert.AreEqual(fileName, projectController.TestPackage.Files[0].ToString()); }
public void Add_test_runner_extension_specification_adds_to_test_package() { var project = new TestProject(); projectTreeModel.TestProject = project; const string testRunnerExtensionSpecification = "testRunnerExtensionSpecification"; projectController.AddTestRunnerExtensionSpecification(testRunnerExtensionSpecification); Assert.Count(1, project.TestRunnerExtensionSpecifications); Assert.AreEqual(testRunnerExtensionSpecification, project.TestRunnerExtensionSpecifications[0]); }
public void Remove_test_runner_extension_specification_removes_from_test_package() { var project = new TestProject(); projectTreeModel.TestProject = project; const string extensionSpecification = "extensionSpecification"; project.AddTestRunnerExtensionSpecification(extensionSpecification); projectController.RemoveTestRunnerExtensionSpecification(extensionSpecification); Assert.Count(0, project.TestRunnerExtensionSpecifications); }
public void Remove_hint_directory_removes_from_test_package() { var project = new TestProject(); projectTreeModel.TestProject = project; const string hintDirectory = @"c:\test"; project.TestPackage.AddHintDirectory(new DirectoryInfo(hintDirectory)); projectController.RemoveHintDirectory(hintDirectory); Assert.Count(0, project.TestPackage.HintDirectories); }
public void Test_runner_extension_specifications_come_from_project() { var project = new TestProject(); projectTreeModel.TestProject = project; var testRunnerExtensionSpecifications = projectController.TestRunnerExtensionSpecifications; Assert.AreEqual(testRunnerExtensionSpecifications, project.TestRunnerExtensionSpecifications); }
public void Hint_directories_come_from_test_package() { var project = new TestProject(); projectTreeModel.TestProject = project; var hintDirectories = projectController.HintDirectories; Assert.AreEqual(hintDirectories, project.TestPackage.HintDirectories); }
public void Add_hint_directory_adds_to_test_package() { var project = new TestProject(); projectTreeModel.TestProject = project; const string hintDirectory = @"c:\test"; projectController.AddHintDirectory(hintDirectory); Assert.Count(1, project.TestPackage.HintDirectories); Assert.AreEqual(hintDirectory, project.TestPackage.HintDirectories[0].FullName); }
public void Save_should_save_the_project() { var testProject = new TestProject(); projectTreeModel.TestProject = testProject; const string projectName = "projectName"; projectController.Save(projectName, NullProgressMonitor.CreateInstance()); testProjectManager.AssertWasCalled(tpm => tpm.SaveProject(Arg.Is(testProject), Arg<FileInfo>.Matches(fi => fi.Name == projectName))); }
public void Create_directory_for_project_if_necessary() { var testProject = new TestProject(); projectTreeModel.TestProject = testProject; projectTreeModel.FileName = Paths.DefaultProject; var progressMonitor = MockProgressMonitor.Instance; fileSystem.Stub(fs => fs.DirectoryExists(Paths.IcarusAppDataFolder)) .Return(false); projectController.Save("", progressMonitor); fileSystem.AssertWasCalled(fs => fs.CreateDirectory(Paths.IcarusAppDataFolder)); }
public void RemoveFile_Test() { var project = new TestProject(); string fileName = Path.GetFullPath("test"); project.TestPackage.AddFile(new FileInfo(fileName)); projectTreeModel.TestProject = project; Assert.Count(1, project.TestPackage.Files); projectController.RemoveFile(fileName); Assert.Count(0, project.TestPackage.Files); }
public void TestPackage_Test() { var testProject = new TestProject(); projectTreeModel.TestProject = testProject; Assert.AreEqual(testProject.TestPackage, projectController.TestPackage); }
/// <summary> /// Creates a copy of the test project. /// </summary> /// <returns>The new copy.</returns> public TestProject Copy() { var copy = new TestProject() { testRunnerFactoryName = testRunnerFactoryName, isTestRunnerFactoryNameSpecified = isTestRunnerFactoryNameSpecified, reportDirectory = reportDirectory, IsReportDirectorySpecified = IsReportDirectorySpecified, reportNameFormat = reportNameFormat, isReportNameFormatSpecified = isReportNameFormatSpecified, testPackage = testPackage.Copy(), ReportArchive = ReportArchive }; GenericCollectionUtils.ConvertAndAddAll(testFilters, copy.testFilters, x => x.Copy()); copy.testRunnerExtensions.AddRange(testRunnerExtensions); copy.testRunnerExtensionSpecifications.AddRange(testRunnerExtensionSpecifications); return copy; }
/// <summary> /// Applies the settings of another test project as an overlay on top of this one. /// </summary> /// <remarks> /// <para> /// Overrides scalar settings (such as <see cref="ReportNameFormat"/>) with those of /// the overlay when they are specified (such as when <see cref="IsReportNameFormatSpecified" /> is true). /// Merges aggregate settings (such as lists of files). /// </para> /// </remarks> /// <param name="overlay">The test project to overlay on top of this one.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="overlay"/> is null.</exception> public void ApplyOverlay(TestProject overlay) { if (overlay == null) throw new ArgumentNullException("overlay"); if (overlay.IsReportNameFormatSpecified) ReportNameFormat = overlay.ReportNameFormat; if (overlay.IsReportDirectorySpecified) ReportDirectory = overlay.ReportDirectory; if (overlay.IsTestRunnerFactoryNameSpecified) TestRunnerFactoryName = overlay.TestRunnerFactoryName; GenericCollectionUtils.ForEach(overlay.TestFilters, x => AddTestFilter(x.Copy())); GenericCollectionUtils.ForEach(overlay.TestRunnerExtensions, AddTestRunnerExtension); GenericCollectionUtils.ForEach(overlay.TestRunnerExtensionSpecifications, AddTestRunnerExtensionSpecification); TestPackage.ApplyOverlay(overlay.TestPackage); }
/// <inheritdoc /> public void SaveProject(TestProject testProject, FileInfo testProjectFile) { if (testProject == null) throw new ArgumentNullException("testProject"); if (testProjectFile == null) throw new ArgumentNullException("testProjectFile"); var testProjectData = new TestProjectData(testProject); testProjectData.Validate(); // sanity check testProjectData.MakeRelativePaths(testProjectFile.DirectoryName); xmlSerializer.SaveToXml(testProjectData, testProjectFile.FullName); }