public void Test_GetProjectPredicate_ProjectsAndExcludeProjects()
        {
            CheckmarxReportOptions options;

            options = new NotFalsePositiveReportOptions();
            options.ExcludeProjects = new [] { "a" };
            options.Projects        = new [] { "a" };

            Assert.That(() => ReportRunnerHelper.GetProjectPredicate(options),
                        Throws.ArgumentException);
        }
        public void Test_GetProjectPredicate_Projects(string projectNames)
        {
            CheckmarxReportOptions options;
            Func <ProjectScannedDisplayData, bool> projectPredicate;

            options = new NotFalsePositiveReportOptions();
            if (projectNames != null)
            {
                options.Projects = projectNames.Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
            }

            projectPredicate = ReportRunnerHelper.GetProjectPredicate(options);
            foreach (string testProjectName in new[] { "a", "b", "c" })
            {
                Assert.That(
                    projectPredicate(new ProjectScannedDisplayData {
                    ProjectName = testProjectName
                }),
                    Is.EqualTo(options.Projects == null || options.Projects.Contains(testProjectName)),
                    $"Project '{testProjectName}' incorrect");
            }
        }
 public void Test_GetProjectPredicate_Null()
 {
     Assert.That(
         () => ReportRunnerHelper.GetProjectPredicate(null),
         Throws.ArgumentNullException.And.Property("ParamName").EqualTo("options"));
 }