1
namespace Nunit.Framework
5
/// <summary>A set of Assert methods.</summary>
9
/// Asserts that a condition is true. If it isn't it throws
10
/// an <see cref="AssertionFailedError"/>.
12
/// <param name="message">The message to display is the condition
14
/// <param name="condition">The evaluated condition</param>
15
static public void Assert(string message, bool condition)
18
Assertion.Fail(message);
22
/// Asserts that a condition is true. If it isn't it throws
23
/// an <see cref="AssertionFailedError"/>.
25
/// <param name="condition">The evaluated condition</param>
26
static public void Assert(bool condition)
28
Assertion.Assert(string.Empty, condition);
32
/// /// Asserts that two doubles are equal concerning a delta. If the
33
/// expected value is infinity then the delta value is ignored.
35
/// <param name="expected">The expected value</param>
36
/// <param name="actual">The actual value</param>
37
/// <param name="delta">The maximum acceptable difference between the
38
/// the expected and the actual</param>
39
static public void AssertEquals(double expected, double actual, double delta)
41
Assertion.AssertEquals(string.Empty, expected, actual, delta);
44
/// /// Asserts that two singles are equal concerning a delta. If the
45
/// expected value is infinity then the delta value is ignored.
47
/// <param name="expected">The expected value</param>
48
/// <param name="actual">The actual value</param>
49
/// <param name="delta">The maximum acceptable difference between the
50
/// the expected and the actual</param>
51
static public void AssertEquals(float expected, float actual, float delta)
53
Assertion.AssertEquals(string.Empty, expected, actual, delta);
56
/// <summary>Asserts that two objects are equal. If they are not
57
/// an <see cref="AssertionFailedError"/> is thrown.</summary>
58
static public void AssertEquals(Object expected, Object actual)
60
Assertion.AssertEquals(string.Empty, expected, actual);
63
static public void AssertEquals(int expected, int actual)
65
Assertion.AssertEquals(string.Empty, expected, actual);
68
static public void AssertEquals(string message, int expected, int actual)
70
if (expected != actual)
71
Assertion.FailNotEquals(message, expected, actual);
74
/// <summary>Asserts that two doubles are equal concerning a delta.
75
/// If the expected value is infinity then the delta value is ignored.
77
static public void AssertEquals(string message, double expected,
78
double actual, double delta)
80
// handle infinity specially since subtracting two infinite values gives
81
// NaN and the following test fails
82
if (double.IsInfinity(expected))
84
if (!(expected == actual))
85
Assertion.FailNotEquals(message, expected, actual);
87
else if (!(Math.Abs(expected-actual) <= delta))
88
Assertion.FailNotEquals(message, expected, actual);
91
/// <summary>Asserts that two floats are equal concerning a delta.
92
/// If the expected value is infinity then the delta value is ignored.
94
static public void AssertEquals(string message, float expected,
95
float actual, float delta)
97
// handle infinity specially since subtracting two infinite values gives
98
// NaN and the following test fails
99
if (float.IsInfinity(expected))
101
if (!(expected == actual))
102
Assertion.FailNotEquals(message, expected, actual);
104
else if (!(Math.Abs(expected-actual) <= delta))
105
Assertion.FailNotEquals(message, expected, actual);
109
/// Used to compare int and longs. Comparisons between
110
/// same types are fine (Int32 to Int32, or Int64 to Int64),
111
/// but the Equals method fails across different types.
112
/// This method was added to allow ints and longs to
113
/// be handled correctly via casting.
115
/// <param name="expected"></param>
116
/// <param name="actual"></param>
117
/// <returns></returns>
118
static private bool ObjectsEqual( Object expected, Object actual )
120
if( expected is int && actual is long )
122
return (int)expected == (long)actual;
124
if( expected is long && actual is int )
126
return (long)expected == (int)actual;
128
return expected.Equals(actual);
131
/// <summary>Asserts that two objects are equal. If they are not
132
/// an <see cref="AssertionFailedError"/> is thrown.</summary>
133
static public void AssertEquals(string message, Object expected, Object actual)
135
if (expected == null && actual == null)
137
if (expected != null && ObjectsEqual( expected, actual ))
139
Assertion.FailNotEquals(message, expected, actual);
142
/// <summary>Asserts that an object isn't null.</summary>
143
static public void AssertNotNull(Object anObject)
145
Assertion.AssertNotNull(string.Empty, anObject);
148
/// <summary>Asserts that an object isn't null.</summary>
149
static public void AssertNotNull(string message, Object anObject)
151
Assertion.Assert(message, anObject != null);
154
/// <summary>Asserts that an object is null.</summary>
155
static public void AssertNull(Object anObject)
157
Assertion.AssertNull(string.Empty, anObject);
160
/// <summary>Asserts that an object is null.</summary>
161
static public void AssertNull(string message, Object anObject)
163
Assertion.Assert(message, anObject == null);
166
/// <summary>Asserts that two objects refer to the same object. If they
167
/// are not the same an <see cref="AssertionFailedError"/> is thrown.
169
static public void AssertSame(Object expected, Object actual)
171
Assertion.AssertSame(string.Empty, expected, actual);
174
/// <summary>Asserts that two objects refer to the same object.
175
/// If they are not an <see cref="AssertionFailedError"/> is thrown.
177
static public void AssertSame(string message, Object expected, Object actual)
179
if (expected == actual)
181
Assertion.FailNotSame(message, expected, actual);
184
/// <summary>Fails a test with no message.</summary>
185
static public void Fail()
187
Assertion.Fail(string.Empty);
190
/// <summary>Fails a test with the given message.</summary>
191
static public void Fail(string message)
194
message = string.Empty;
195
throw new AssertionException(message);
199
/// Called when two objects have been compared and found to be
202
/// <param name="message"></param>
203
/// <param name="expected"></param>
204
/// <param name="actual"></param>
205
static private void FailNotEquals(string message, Object expected, Object actual)
208
AssertionFailureMessage.FormatMessageForFailNotEquals(
214
static private void FailNotSame(string message, Object expected, Object actual)
216
string formatted=string.Empty;
218
formatted= message+" ";
219
Assertion.Fail(formatted+"expected same");
b'\\ No newline at end of file'