KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > db4ounit > Assert


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

21 package db4ounit;
22
23 public final class Assert {
24     
25     public static void expect(Class JavaDoc exception, CodeBlock block) {
26         try {
27             block.run();
28         } catch (Exception JavaDoc e) {
29             if (exception.isInstance(e)) return;
30             fail("Expecting '" + exception.getName() + "' but got '" + e.getClass().getName() + "'");
31         }
32         fail("Exception '" + exception.getName() + "' expected");
33     }
34     
35     public static void fail() {
36         fail("FAILURE");
37     }
38
39     public static void fail(String JavaDoc msg) {
40         throw new AssertionException(msg);
41     }
42     
43     public static void isTrue(boolean condition) {
44         isTrue(condition,"FAILURE");
45     }
46
47     public static void isTrue(boolean condition, String JavaDoc msg) {
48         if (condition) return;
49         fail(msg);
50     }
51     
52     public static void isNull(Object JavaDoc reference) {
53         isNull(reference, failureMessage("null", reference));
54     }
55
56     public static void isNull(Object JavaDoc reference,String JavaDoc message) {
57         if (reference != null) {
58             fail(message);
59         }
60     }
61
62     public static void isNotNull(Object JavaDoc reference) {
63         isNotNull(reference, failureMessage("not null", reference));
64     }
65
66     public static void isNotNull(Object JavaDoc reference,String JavaDoc message) {
67         if (reference == null) {
68             fail(message);
69         }
70     }
71
72     public static void areEqual(boolean expected, boolean actual) {
73         if (expected == actual) return;
74         fail(failureMessage(new Boolean JavaDoc(expected), new Boolean JavaDoc(actual)));
75     }
76
77     public static void areEqual(int expected, int actual) {
78         areEqual(expected,actual,null);
79     }
80     
81     public static void areEqual(int expected, int actual, String JavaDoc message) {
82         if (expected == actual) return;
83         fail(failureMessage(new Integer JavaDoc(expected), new Integer JavaDoc(actual),message));
84     }
85     
86     public static void areEqual(double expected, double actual) {
87         if (expected == actual) return;
88         fail(failureMessage(new Double JavaDoc(expected), new Double JavaDoc(actual)));
89     }
90     
91     public static void areEqual(long expected, long actual) {
92         if (expected == actual) return;
93         fail(failureMessage(new Long JavaDoc(expected), new Long JavaDoc(actual)));
94     }
95
96     public static void areEqual(Object JavaDoc expected, Object JavaDoc actual,String JavaDoc message) {
97         if (objectsAreEqual(expected, actual)) return;
98         fail(failureMessage(expected, actual, message));
99     }
100     
101     public static void areEqual(Object JavaDoc expected, Object JavaDoc actual) {
102         areEqual(expected,actual,null);
103     }
104
105     public static void areSame(Object JavaDoc expected, Object JavaDoc actual) {
106         if (expected == actual) return;
107         fail(failureMessage(expected, actual));
108     }
109     
110     public static void areNotSame(Object JavaDoc expected, Object JavaDoc actual) {
111         if (expected != actual) return;
112         fail("Expecting not '" + expected + "'.");
113     }
114     
115     private static String JavaDoc failureMessage(Object JavaDoc expected, Object JavaDoc actual) {
116         return failureMessage(expected,actual,null);
117     }
118
119     private static String JavaDoc failureMessage(Object JavaDoc expected, Object JavaDoc actual, String JavaDoc customMessage) {
120         return failureMessage(expected, actual, "", customMessage);
121     }
122
123     private static String JavaDoc failureMessage(Object JavaDoc expected, Object JavaDoc actual, final String JavaDoc cmpOper, String JavaDoc customMessage) {
124         return (customMessage==null ? "" : customMessage+": ")+"Expected " + cmpOper + "'"+ expected + "' but was '" + actual + "'";
125     }
126
127     private static boolean objectsAreEqual(Object JavaDoc expected, Object JavaDoc actual) {
128         return expected == actual
129             || (expected != null
130                 && actual != null
131                 && expected.equals(actual));
132     }
133
134     public static void isFalse(boolean condition) {
135         isTrue(!condition);
136     }
137     
138     public static void isFalse(boolean condition, String JavaDoc message) {
139         isTrue(!condition, message);
140     }
141
142     public static void isInstanceOf(Class JavaDoc expectedClass, Object JavaDoc actual) {
143         isTrue(expectedClass.isInstance(actual), failureMessage(expectedClass, actual == null ? null : actual.getClass()));
144     }
145
146     public static void isGreater(long expected, long actual) {
147         if (actual > expected) return;
148         fail(failureMessage(new Long JavaDoc(expected), new Long JavaDoc(actual), "greater than ", null));
149     }
150     
151     public static void isGreaterOrEqual(long expected, long actual) {
152         if (actual >= expected) return;
153         fail(expected, actual, "greater than or equal to ");
154     }
155
156     private static void fail(long expected, long actual, final String JavaDoc operator) {
157         fail(failureMessage(new Long JavaDoc(expected), new Long JavaDoc(actual), operator, null));
158     }
159
160     public static void areNotEqual(long expected, long actual) {
161         if (actual != expected) return;
162         fail(expected, actual, "not equal to ");
163     }
164
165     public static void areNotEqual(Object JavaDoc notExpected, Object JavaDoc actual) {
166         if (!objectsAreEqual(notExpected, actual)) return;
167         fail("Expecting not '" + notExpected + "'");
168     }
169 }
170
Popular Tags