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);
        }
Exemple #14
0
        /// <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;
        }
Exemple #15
0
        /// <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);
        }