public IndependentRule( IDescribedDependencyCondition dependencyCondition, Pattern dependingAssemblyNamePattern, IDependencyPathRuleViolationFactory ruleViolationFactory) { _condition = dependencyCondition; _dependingAssemblyNamePattern = dependingAssemblyNamePattern; _ruleViolationFactory = ruleViolationFactory; }
public IProjectSearchResult AssemblyMatching(IDescribedDependencyCondition condition, IProjectSearchResult depending) { if (_path.Any(Predicates.ProjectMeets(condition, depending))) { var(projectFound, indexFound) = FindWithIndexWhere(Predicates.ProjectMeets(condition, depending)); return(_projectFoundSearchResultFactory.ItemFound(projectFound, indexFound)); } else { return(_projectFoundSearchResultFactory.ItemNotFound()); } }
internal static Func <IDependencyPathBasedRuleTarget, bool> ProjectMeets(IDescribedDependencyCondition nextAssemblyMatchesCondition, IProjectSearchResult depending) { return(project => nextAssemblyMatchesCondition.Matches(depending, project)); }