master
 1using System;
 2using Notepad.Infrastructure.Core;
 3
 4namespace Notepad.Infrastructure.Extensions {
 5    public static class SpecificationExtensions {
 6        public static bool Satisfies<T>(this T itemToValidate, Predicate<T> criteriaToSatisfy) {
 7            return criteriaToSatisfy(itemToValidate);
 8        }
 9
10        public static bool Satisfies<T>(this T itemToValidate, ISpecification<T> criteriaToSatisfy) {
11            return itemToValidate.Satisfies(criteriaToSatisfy.IsSatisfiedBy);
12        }
13    }
14}