summaryrefslogtreecommitdiff
path: root/lib/utility/AndSpecification.cs
blob: 56c6a24a9b2bd306ddbfa52efe33de93ed04744d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace gorilla.utility
{
    public class AndSpecification<T> : Specification<T>
    {
        readonly Specification<T> left;
        readonly Specification<T> right;

        public AndSpecification(Specification<T> left, Specification<T> right)
        {
            this.left = left;
            this.right = right;
        }

        public bool is_satisfied_by(T item)
        {
            return left.is_satisfied_by(item) && right.is_satisfied_by(item);
        }
    }
}