Пример #1
0
 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));
 }