public void ShouldAddAllProjectScopedRulesFromDtosToRuleSet() { //GIVEN var ruleDto1 = Any.Instance <CorrectNamespacesRuleComplementDto>(); var ruleDto2 = Any.Instance <HasTargetFrameworkRuleComplementDto>(); var ruleDto3 = Any.Instance <HasAttributesOnRuleComplementDto>(); var projectAnalysis = Substitute.For <IProjectAnalysis>(); var analysis = new AnalysisBuilder { ProjectAnalysis = projectAnalysis, }.Build(); var ruleDtos = new[] { ProjectScopedRuleUnionDto.With(ruleDto1), ProjectScopedRuleUnionDto.With(ruleDto2), ProjectScopedRuleUnionDto.With(ruleDto3) }; //WHEN analysis.AddProjectScopedRules(ruleDtos); //THEN projectAnalysis.Received(1).Add(ruleDtos); }
public IFullProjectScopedRuleConstructed HasProperty(string propertyName, string propertyValue) { var complementDto = HasPropertyComplement(propertyName, propertyValue); _projectScopedRuleDto = ProjectScopedRuleUnionDto.With(complementDto); _testedRuleDefinition = TestedRuleDefinition.From(complementDto); return(this); }
public IFullProjectScopedRuleConstructed HasCorrectNamespaces() { var complementDto = CorrectNamespacesRuleComplement(); _projectScopedRuleDto = ProjectScopedRuleUnionDto.With(complementDto); _testedRuleDefinition = TestedRuleDefinition.From(complementDto); return(this); }
public IFullProjectScopedRuleConstructed HasTargetFramework(string targetFramework) { var complementDto = HasTargetFrameworkRuleComplement(targetFramework); _projectScopedRuleDto = ProjectScopedRuleUnionDto.With(complementDto); _testedRuleDefinition = TestedRuleDefinition.From(complementDto); return(this); }
private static Parser <ProjectScopedRuleUnionDto> HasProperty(Pattern dependingPattern) { return(Parse.String(HasPropertyRuleMetadata.HasProperty) .Then(_ => from propertyName in TextUntil(':') from propertyValue in TextUntilEol select ProjectScopedRuleUnionDto.With( new HasPropertyRuleComplementDto(dependingPattern, propertyName, Pattern.WithoutExclusion(propertyValue))))); }
private static Parser <ProjectScopedRuleUnionDto> HasTargetFramework(Pattern dependingPattern) { return(Parse.String(HasTargetFrameworkRuleMetadata.HasTargetFramework) .Then(_ => from targetFramework in TextUntilEol select ProjectScopedRuleUnionDto.With( new HasTargetFrameworkRuleComplementDto( dependingPattern, targetFramework)))); }
public IFullProjectScopedRuleConstructed HasDecoratedMethods(string classInclusionPattern, string methodInclusionPattern) { var complementDto = HasAttributesOnRuleComplement( classInclusionPattern, methodInclusionPattern); _projectScopedRuleDto = ProjectScopedRuleUnionDto.With(complementDto); _testedRuleDefinition = TestedRuleDefinition.From(complementDto); return(this); }
private static Parser <ProjectScopedRuleUnionDto> HasAttributesOn(Pattern dependingPattern) { return(Parse.String(HasAttributesOnRuleMetadata.HasAttributesOn) .Then(_ => from classPattern in TextUntil(':') from methodPattern in TextUntilEol select ProjectScopedRuleUnionDto.With( new HasAttributesOnRuleComplementDto( dependingPattern, Pattern.WithoutExclusion(classPattern), Pattern.WithoutExclusion(methodPattern))))); }
public void ShouldAddRuleToRuleSet() { //GIVEN var ruleSet = Substitute.For <IProjectScopedRuleSet>(); var ruleFactory = Substitute.For <IProjectScopedRuleFactory>(); var projectAnalysis = new ProjectAnalysis(Any.Instance <ISolutionForProjectScopedRules>(), ruleSet, ruleFactory); var dto1 = Any.Instance <CorrectNamespacesRuleComplementDto>(); var dto2 = Any.Instance <HasAttributesOnRuleComplementDto>(); var dto3 = Any.Instance <HasTargetFrameworkRuleComplementDto>(); var dto4 = Any.Instance <HasPropertyRuleComplementDto>(); var projectScopedRuleUnionDtos = new List <ProjectScopedRuleUnionDto> { ProjectScopedRuleUnionDto.With(dto1), ProjectScopedRuleUnionDto.With(dto2), ProjectScopedRuleUnionDto.With(dto3), ProjectScopedRuleUnionDto.With(dto4) }; var rule1 = Any.Instance <IProjectScopedRule>(); var rule2 = Any.Instance <IProjectScopedRule>(); var rule3 = Any.Instance <IProjectScopedRule>(); var rule4 = Any.Instance <IProjectScopedRule>(); ruleFactory.CreateProjectScopedRuleFrom(dto1).Returns(rule1); ruleFactory.CreateProjectScopedRuleFrom(dto2).Returns(rule2); ruleFactory.CreateProjectScopedRuleFrom(dto3).Returns(rule3); ruleFactory.CreateProjectScopedRuleFrom(dto4).Returns(rule4); //WHEN projectAnalysis.Add(projectScopedRuleUnionDtos); //THEN Received.InOrder(() => { ruleSet.Add(rule1); ruleSet.Add(rule2); ruleSet.Add(rule3); ruleSet.Add(rule4); }); }
public ProjectScopedAnalysisRule(ProjectScopedRuleUnionDto dto) { _dto = dto; }
HasCorrectNamespacesRuleComplement(Pattern dependingPattern) { return(Parse.String(HasCorrectNamespacesRuleMetadata.HasCorrectNamespaces) .Then(_ => OptionalSpacesUntilEol) .Return(ProjectScopedRuleUnionDto.With(new CorrectNamespacesRuleComplementDto(dependingPattern)))); }