summaryrefslogtreecommitdiff
path: root/src/Notepad/Infrastructure/Extensions/SpecificationExtensions.cs
blob: c7ed7dca42812cad056b319ec769df4f26f5de5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Notepad.Infrastructure.Core;

namespace Notepad.Infrastructure.Extensions {
    public static class SpecificationExtensions {
        public static bool Satisfies<T>(this T itemToValidate, Predicate<T> criteriaToSatisfy) {
            return criteriaToSatisfy(itemToValidate);
        }

        public static bool Satisfies<T>(this T itemToValidate, ISpecification<T> criteriaToSatisfy) {
            return itemToValidate.Satisfies(criteriaToSatisfy.IsSatisfiedBy);
        }
    }
}