public void ShouldSayItHasProjectIdMatchingTheOneItWasCreatedWith() { //GIVEN var assemblyName = Any.Instance <AssemblyName>(); var project = new ProjectScopedRuleTarget(assemblyName, Any.ReadOnlyList <ISourceCodeFileInNamespace>(), Any.ReadOnlyDictionary <string, string>()); //WHEN var hasProject = project.HasProjectAssemblyNameMatching( Pattern.WithoutExclusion(assemblyName.Value)); //THEN hasProject.Should().BeTrue(); }
public void ShouldPassAllItsFilesToProjectScopedRuleAlongWithRootNamespace() { //GIVEN var files = Any.ReadOnlyList <ISourceCodeFileInNamespace>(); var project = new ProjectScopedRuleTarget(Any.Instance <AssemblyName>(), files, Any.ReadOnlyDictionary <string, string>()); var rule = Substitute.For <IProjectFilesetScopedRule>(); var report = Any.Instance <IAnalysisReportInProgress>(); //WHEN project.AnalyzeFiles(rule, report); //THEN rule.Received(1).Check(files, report); }
public void ShouldApplyPropertyCheckToItsTargetFramework() { //GIVEN var propertyCheck = Substitute.For <IPropertyCheck>(); var assemblyName = Any.Instance <AssemblyName>(); var properties = Any.ReadOnlyDictionary <string, string>(); var project = new ProjectScopedRuleTarget(assemblyName, Any.ReadOnlyList <ISourceCodeFileInNamespace>(), properties); var report = Any.Instance <IAnalysisReportInProgress>(); //WHEN project.ValidateProperty(propertyCheck, report); //THEN propertyCheck.Received(1).ApplyTo(assemblyName, properties, report); }
public void ShouldSayItDoesNotHaveMatchingProjectAssemblyNameWhenItWasNotCreatedWithMatchingOne() { //GIVEN var searchedAssemblyName = Any.Instance <AssemblyName>(); var project = new ProjectScopedRuleTarget( Any.OtherThan(searchedAssemblyName), Any.ReadOnlyList <ISourceCodeFileInNamespace>(), Any.ReadOnlyDictionary <string, string>()); //WHEN var hasProject = project.HasProjectAssemblyNameMatching( Pattern.WithoutExclusion(searchedAssemblyName.Value)); //THEN hasProject.Should().BeFalse(); }
public void ShouldSayItHasProjectAssemblyNameMatchingBlobPattern() { //GIVEN var assemblySuffix = Any.String(); var project = new ProjectScopedRuleTarget( new AssemblyName($"{Any.String()}.{assemblySuffix}"), Any.ReadOnlyList <ISourceCodeFileInNamespace>(), Any.ReadOnlyDictionary <string, string>()); string assemblyNamePattern = "*." + assemblySuffix; //WHEN var hasProject = project.HasProjectAssemblyNameMatching(Pattern.WithoutExclusion(assemblyNamePattern)); //THEN hasProject.Should().BeTrue(); }
public void ShouldReportItsAssemblyNameToReportWhenAskedToReportThatItIsMatched() { //GIVEN var report = Substitute.For <IAnalysisReportInProgress>(); var assemblyName = Any.Instance <AssemblyName>(); var project = new ProjectScopedRuleTarget( assemblyName, Any.ReadOnlyList <ISourceCodeFileInNamespace>(), Any.ReadOnlyDictionary <string, string>()); //WHEN project.AddInfoAboutMatchingPatternTo(report); //THEN report.Received(1).StartedCheckingTarget(assemblyName); }