[NUI] Rebase develnui (DevelNUI only patches --> master) (#3910)
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Devel.Tests.Ubuntu / nunit.framework / Attributes / IncludeExcludeAttribute.cs
1 // ***********************************************************************
2 // Copyright (c) 2007 Charlie Poole
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 // ***********************************************************************
23 #define PORTABLE
24 #define TIZEN
25 #define NUNIT_FRAMEWORK
26 #define NUNITLITE
27 #define NET_4_5
28 #define PARALLEL
29 using System;
30
31 namespace NUnit.Framework
32 {
33     /// <summary>
34     /// Abstract base for Attributes that are used to include tests
35     /// in the test run based on environmental settings.
36     /// </summary>
37     public abstract class IncludeExcludeAttribute : NUnitAttribute
38     {
39         private string include;
40         private string exclude;
41         private string reason;
42
43         /// <summary>
44         /// Constructor with no included items specified, for use
45         /// with named property syntax.
46         /// </summary>
47         public IncludeExcludeAttribute() { }
48
49         /// <summary>
50         /// Constructor taking one or more included items
51         /// </summary>
52         /// <param name="include">Comma-delimited list of included items</param>
53         public IncludeExcludeAttribute( string include )
54         {
55             this.include = include;
56         }
57
58         /// <summary>
59         /// Name of the item that is needed in order for
60         /// a test to run. Multiple items may be given,
61         /// separated by a comma.
62         /// </summary>
63         public string Include
64         {
65             get { return this.include; }
66             set { include = value; }
67         }
68
69         /// <summary>
70         /// Name of the item to be excluded. Multiple items
71         /// may be given, separated by a comma.
72         /// </summary>
73         public string Exclude
74         {
75             get { return this.exclude; }
76             set { this.exclude = value; }
77         }
78
79         /// <summary>
80         /// The reason for including or excluding the test
81         /// </summary>
82         public string Reason
83         {
84             get { return reason; }
85             set { reason = value; }
86         }
87     }
88 }