[NUI] Rebase develnui (DevelNUI only patches --> master) (#3910)
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Devel.Tests.Ubuntu / nunit.framework / Common / Guard.cs
1 // ***********************************************************************
2 // Copyright (c) 2015 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
32 {
33     /// <summary>
34     /// Class used to guard against unexpected argument values
35     /// or operations by throwing an appropriate exception.
36     /// </summary>
37     static class Guard
38     {
39         /// <summary>
40         /// Throws an exception if an argument is null
41         /// </summary>
42         /// <param name="value">The value to be tested</param>
43         /// <param name="name">The name of the argument</param>
44         public static void ArgumentNotNull(object value, string name)
45         {
46             if (value == null)
47                 throw new ArgumentNullException("Argument " + name + " must not be null", name);
48         }
49
50         /// <summary>
51         /// Throws an exception if a string argument is null or empty
52         /// </summary>
53         /// <param name="value">The value to be tested</param>
54         /// <param name="name">The name of the argument</param>
55         public static void ArgumentNotNullOrEmpty(string value, string name)
56         {
57             ArgumentNotNull(value, name);
58
59             if (value == string.Empty)
60                 throw new ArgumentException("Argument " + name +" must not be the empty string", name);
61         }
62
63         /// <summary>
64         /// Throws an ArgumentOutOfRangeException if the specified condition is not met.
65         /// </summary>
66         /// <param name="condition">The condition that must be met</param>
67         /// <param name="message">The exception message to be used</param>
68         /// <param name="paramName">The name of the argument</param>
69         public static void ArgumentInRange(bool condition, string message, string paramName)
70         {
71             if (!condition)
72                 throw new ArgumentOutOfRangeException(paramName, message);
73         }
74
75         /// <summary>
76         /// Throws an ArgumentException if the specified condition is not met.
77         /// </summary>
78         /// <param name="condition">The condition that must be met</param>
79         /// <param name="message">The exception message to be used</param>
80         /// <param name="paramName">The name of the argument</param>
81         public static void ArgumentValid(bool condition, string message, string paramName)
82         {
83             if (!condition)
84                 throw new ArgumentException(message, paramName);
85         }
86
87         /// <summary>
88         /// Throws an InvalidOperationException if the specified condition is not met.
89         /// </summary>
90         /// <param name="condition">The condition that must be met</param>
91         /// <param name="message">The exception message to be used</param>
92         public static void OperationValid(bool condition, string message)
93         {
94             if (!condition)
95                 throw new InvalidOperationException(message);
96         }
97     }
98 }