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

    public OrSpecification(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);
    }
  }
}