main
 1namespace gorilla.commons.utility
 2{
 3    public class NotSpecification<T> : Specification<T>
 4    {
 5        readonly Specification<T> item_to_match;
 6
 7        public NotSpecification(Specification<T> item_to_match)
 8        {
 9            this.item_to_match = item_to_match;
10        }
11
12        public bool is_satisfied_by(T item)
13        {
14            return !item_to_match.is_satisfied_by(item);
15        }
16    }
17}