• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package junit.framework;
2 
3 /**
4  * A set of assert methods.  Messages are only displayed when an assert fails.
5  */
6 
7 public class Assert {
8     /**
9      * Protect constructor since it is a static only class
10      */
Assert()11     protected Assert() {
12     }
13 
14     /**
15      * Asserts that a condition is true. If it isn't it throws
16      * an AssertionFailedError with the given message.
17      */
assertTrue(String message, boolean condition)18     static public void assertTrue(String message, boolean condition) {
19         if (!condition)
20             fail(message);
21     }
22     /**
23      * Asserts that a condition is true. If it isn't it throws
24      * an AssertionFailedError.
25      */
assertTrue(boolean condition)26     static public void assertTrue(boolean condition) {
27         assertTrue(null, condition);
28     }
29     /**
30      * Asserts that a condition is false. If it isn't it throws
31      * an AssertionFailedError with the given message.
32      */
assertFalse(String message, boolean condition)33     static public void assertFalse(String message, boolean condition) {
34         assertTrue(message, !condition);
35     }
36     /**
37      * Asserts that a condition is false. If it isn't it throws
38      * an AssertionFailedError.
39      */
assertFalse(boolean condition)40     static public void assertFalse(boolean condition) {
41         assertFalse(null, condition);
42     }
43     /**
44      * Fails a test with the given message.
45      */
fail(String message)46     static public void fail(String message) {
47         throw new AssertionFailedError(message);
48     }
49     /**
50      * Fails a test with no message.
51      */
fail()52     static public void fail() {
53         fail(null);
54     }
55     /**
56      * Asserts that two objects are equal. If they are not
57      * an AssertionFailedError is thrown with the given message.
58      */
assertEquals(String message, Object expected, Object actual)59     static public void assertEquals(String message, Object expected, Object actual) {
60         if (expected == null && actual == null)
61             return;
62         if (expected != null && expected.equals(actual))
63             return;
64         failNotEquals(message, expected, actual);
65     }
66     /**
67      * Asserts that two objects are equal. If they are not
68      * an AssertionFailedError is thrown.
69      */
assertEquals(Object expected, Object actual)70     static public void assertEquals(Object expected, Object actual) {
71         assertEquals(null, expected, actual);
72     }
73     /**
74      * Asserts that two Strings are equal.
75      */
assertEquals(String message, String expected, String actual)76     static public void assertEquals(String message, String expected, String actual) {
77         if (expected == null && actual == null)
78             return;
79         if (expected != null && expected.equals(actual))
80             return;
81         throw new ComparisonFailure(message, expected, actual);
82     }
83     /**
84      * Asserts that two Strings are equal.
85      */
assertEquals(String expected, String actual)86     static public void assertEquals(String expected, String actual) {
87         assertEquals(null, expected, actual);
88     }
89     /**
90      * Asserts that two doubles are equal concerning a delta.  If they are not
91      * an AssertionFailedError is thrown with the given message.  If the expected
92      * value is infinity then the delta value is ignored.
93      */
assertEquals(String message, double expected, double actual, double delta)94     static public void assertEquals(String message, double expected, double actual, double delta) {
95         // handle infinity specially since subtracting to infinite values gives NaN and the
96         // the following test fails
97         if (Double.isInfinite(expected)) {
98             if (!(expected == actual))
99                 failNotEquals(message, new Double(expected), new Double(actual));
100         } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false
101             failNotEquals(message, new Double(expected), new Double(actual));
102     }
103     /**
104      * Asserts that two doubles are equal concerning a delta. If the expected
105      * value is infinity then the delta value is ignored.
106      */
assertEquals(double expected, double actual, double delta)107     static public void assertEquals(double expected, double actual, double delta) {
108         assertEquals(null, expected, actual, delta);
109     }
110     /**
111      * Asserts that two floats are equal concerning a delta. If they are not
112      * an AssertionFailedError is thrown with the given message.  If the expected
113      * value is infinity then the delta value is ignored.
114      */
assertEquals(String message, float expected, float actual, float delta)115     static public void assertEquals(String message, float expected, float actual, float delta) {
116          // handle infinity specially since subtracting to infinite values gives NaN and the
117         // the following test fails
118         if (Float.isInfinite(expected)) {
119             if (!(expected == actual))
120                 failNotEquals(message, new Float(expected), new Float(actual));
121         } else if (!(Math.abs(expected-actual) <= delta))
122               failNotEquals(message, new Float(expected), new Float(actual));
123     }
124     /**
125      * Asserts that two floats are equal concerning a delta. If the expected
126      * value is infinity then the delta value is ignored.
127      */
assertEquals(float expected, float actual, float delta)128     static public void assertEquals(float expected, float actual, float delta) {
129         assertEquals(null, expected, actual, delta);
130     }
131     /**
132      * Asserts that two longs are equal. If they are not
133      * an AssertionFailedError is thrown with the given message.
134      */
assertEquals(String message, long expected, long actual)135     static public void assertEquals(String message, long expected, long actual) {
136         assertEquals(message, new Long(expected), new Long(actual));
137     }
138     /**
139      * Asserts that two longs are equal.
140      */
assertEquals(long expected, long actual)141     static public void assertEquals(long expected, long actual) {
142         assertEquals(null, expected, actual);
143     }
144     /**
145      * Asserts that two booleans are equal. If they are not
146      * an AssertionFailedError is thrown with the given message.
147      */
assertEquals(String message, boolean expected, boolean actual)148     static public void assertEquals(String message, boolean expected, boolean actual) {
149             assertEquals(message, new Boolean(expected), new Boolean(actual));
150       }
151     /**
152      * Asserts that two booleans are equal.
153       */
assertEquals(boolean expected, boolean actual)154     static public void assertEquals(boolean expected, boolean actual) {
155         assertEquals(null, expected, actual);
156     }
157     /**
158      * Asserts that two bytes are equal. If they are not
159      * an AssertionFailedError is thrown with the given message.
160      */
assertEquals(String message, byte expected, byte actual)161       static public void assertEquals(String message, byte expected, byte actual) {
162         assertEquals(message, new Byte(expected), new Byte(actual));
163     }
164     /**
165         * Asserts that two bytes are equal.
166      */
assertEquals(byte expected, byte actual)167     static public void assertEquals(byte expected, byte actual) {
168         assertEquals(null, expected, actual);
169     }
170     /**
171      * Asserts that two chars are equal. If they are not
172      * an AssertionFailedError is thrown with the given message.
173      */
assertEquals(String message, char expected, char actual)174       static public void assertEquals(String message, char expected, char actual) {
175             assertEquals(message, new Character(expected), new Character(actual));
176       }
177     /**
178      * Asserts that two chars are equal.
179      */
assertEquals(char expected, char actual)180       static public void assertEquals(char expected, char actual) {
181         assertEquals(null, expected, actual);
182     }
183     /**
184      * Asserts that two shorts are equal. If they are not
185      * an AssertionFailedError is thrown with the given message.
186      */
assertEquals(String message, short expected, short actual)187     static public void assertEquals(String message, short expected, short actual) {
188             assertEquals(message, new Short(expected), new Short(actual));
189     }
190       /**
191      * Asserts that two shorts are equal.
192      */
assertEquals(short expected, short actual)193     static public void assertEquals(short expected, short actual) {
194         assertEquals(null, expected, actual);
195     }
196     /**
197      * Asserts that two ints are equal. If they are not
198      * an AssertionFailedError is thrown with the given message.
199      */
assertEquals(String message, int expected, int actual)200       static public void assertEquals(String message, int expected, int actual) {
201         assertEquals(message, new Integer(expected), new Integer(actual));
202       }
203       /**
204         * Asserts that two ints are equal.
205      */
assertEquals(int expected, int actual)206       static public void assertEquals(int expected, int actual) {
207           assertEquals(null, expected, actual);
208     }
209     /**
210      * Asserts that an object isn't null.
211      */
assertNotNull(Object object)212     static public void assertNotNull(Object object) {
213         assertNotNull(null, object);
214     }
215     /**
216      * Asserts that an object isn't null. If it is
217      * an AssertionFailedError is thrown with the given message.
218      */
assertNotNull(String message, Object object)219     static public void assertNotNull(String message, Object object) {
220         assertTrue(message, object != null);
221     }
222     /**
223      * Asserts that an object is null.
224      */
assertNull(Object object)225     static public void assertNull(Object object) {
226         assertNull(null, object);
227     }
228     /**
229      * Asserts that an object is null.  If it is not
230      * an AssertionFailedError is thrown with the given message.
231      */
assertNull(String message, Object object)232     static public void assertNull(String message, Object object) {
233         assertTrue(message, object == null);
234     }
235     /**
236      * Asserts that two objects refer to the same object. If they are not
237      * an AssertionFailedError is thrown with the given message.
238      */
assertSame(String message, Object expected, Object actual)239     static public void assertSame(String message, Object expected, Object actual) {
240         if (expected == actual)
241             return;
242         failNotSame(message, expected, actual);
243     }
244     /**
245      * Asserts that two objects refer to the same object. If they are not
246      * the same an AssertionFailedError is thrown.
247      */
assertSame(Object expected, Object actual)248     static public void assertSame(Object expected, Object actual) {
249         assertSame(null, expected, actual);
250     }
251      /**
252       * Asserts that two objects refer to the same object. If they are not
253       * an AssertionFailedError is thrown with the given message.
254       */
assertNotSame(String message, Object expected, Object actual)255     static public void assertNotSame(String message, Object expected, Object actual) {
256         if (expected == actual)
257             failSame(message);
258     }
259     /**
260      * Asserts that two objects refer to the same object. If they are not
261      * the same an AssertionFailedError is thrown.
262      */
assertNotSame(Object expected, Object actual)263     static public void assertNotSame(Object expected, Object actual) {
264         assertNotSame(null, expected, actual);
265     }
266 
failSame(String message)267     static private void failSame(String message) {
268         String formatted= "";
269          if (message != null)
270              formatted= message+" ";
271          fail(formatted+"expected not same");
272     }
273 
failNotSame(String message, Object expected, Object actual)274     static private void failNotSame(String message, Object expected, Object actual) {
275         String formatted= "";
276         if (message != null)
277             formatted= message+" ";
278         fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
279     }
280 
failNotEquals(String message, Object expected, Object actual)281     static private void failNotEquals(String message, Object expected, Object actual) {
282         fail(format(message, expected, actual));
283     }
284 
format(String message, Object expected, Object actual)285     static String format(String message, Object expected, Object actual) {
286         String formatted= "";
287         if (message != null)
288             formatted= message+" ";
289         return formatted+"expected:<"+expected+"> but was:<"+actual+">";
290     }
291 }
292