1 namespace Hammock.Specifications
3 public abstract class HammockSpecification<T> : ISpecification<T>
5 #region ISpecification<T> Members
7 public abstract bool IsSatisfiedBy(T instance);
9 public virtual ISpecification<T> And(ISpecification<T> other)
11 return new AndSpecification<T>(this, other);
14 public virtual ISpecification<T> Or(ISpecification<T> other)
16 return new OrSpecification<T>(this, other);
19 public virtual ISpecification<T> Not()
21 return new NotSpecification<T>(this);
26 public static ISpecification<T> operator &(HammockSpecification<T> one, ISpecification<T> other)
28 return one.And(other);
31 public static ISpecification<T> operator |(HammockSpecification<T> one, ISpecification<T> other)