Add test, fix regression
[mono.git] / mcs / nunit20 / core / Filter.cs
1 using System;
2 using System.Collections;
3
4 namespace NUnit.Core
5 {
6         /// <summary>
7         /// Summary description for Filter.
8         /// </summary>
9         public interface IFilter
10         {
11                 bool Pass(TestSuite suite);
12
13                 bool Pass(TestCase test); 
14         }
15
16         [Serializable]
17         public abstract class Filter : IFilter
18         {
19                 private bool exclude;
20
21                 public Filter() : this( false ) { }
22
23                 public Filter( bool exclude )
24                 {
25                         this.exclude = exclude;
26                 }
27
28                 public bool Exclude
29                 {
30                         get { return exclude; }
31                         set { exclude = value; }
32                 }
33
34                 public void Negate()
35                 {
36                         exclude = !exclude;
37                 }
38
39                 #region IFilter Members
40
41                 public abstract bool Pass(TestSuite suite);
42
43                 public abstract bool Pass(TestCase test);
44
45                 #endregion
46         }
47 }