KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > junitx > framework > NamingAssert


1 /*
2  * The JUnit-addons Software License, Version 1.0
3  * (based on the Apache Software License, Version 1.1)
4  *
5  * Copyright (c) 2003 Vladimir R. Bossicard. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in
16  * the documentation and/or other materials provided with the
17  * distribution.
18  *
19  * 3. The end-user documentation included with the redistribution, if
20  * any, must include the following acknowlegement:
21  * "This product includes software developed by Vladimir R.
22  * Bossicard as well as other contributors
23  * (http://junit-addons.sourceforge.net/)."
24  * Alternately, this acknowlegement may appear in the software itself,
25  * if and wherever such third-party acknowlegements normally appear.
26  *
27  * 4. The name "JUnit-addons" must not be used to endorse or promote
28  * products derived from this software without prior written
29  * permission. For written permission, please contact
30  * vbossica@users.sourceforge.net.
31  *
32  * 5. Products derived from this software may not be called "JUnit-addons"
33  * nor may "JUnit-addons" appear in their names without prior written
34  * permission of the project managers.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ======================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals. For more information on the JUnit-addons Project, please
52  * see <http://junit-addons.sourceforge.net/>.
53  */

54
55 package junitx.framework;
56
57 import javax.naming.NamingEnumeration JavaDoc;
58 import javax.naming.NamingException JavaDoc;
59 import javax.naming.directory.Attribute JavaDoc;
60 import javax.naming.directory.Attributes JavaDoc;
61
62 import junit.framework.Assert;
63 import junitx.util.NamingUtil;
64
65 /**
66  * A set of assert methods specially targetted to asserting objects found in
67  * the <tt>javax.naming</tt> package.
68  *
69  * @version $Revision: 1.1 $ $Date: 2003/04/28 03:11:20 $
70  * @author <a HREF="mailto:vbossica@users.sourceforge.net">Vladimir R. Bossicard</a>
71  */

72 public class NamingAssert {
73
74     /**
75      * Don't let anyone have access to this constructor.
76      */

77     private NamingAssert() {
78     }
79
80     /**
81      * Asserts that two <tt>Attributes</tt> objects are equal. Throws an
82      * <tt>AssertionFailedError</tt> if not.
83      */

84     public static void assertEquals(Attributes JavaDoc expected, Attributes JavaDoc actual) {
85         assertEquals(null, expected, actual);
86     }
87
88     /**
89      * Asserts that two <tt>Attributes</tt> objects are equal. Throws an
90      * <tt>AssertionFailedError</tt> if not.
91      */

92     public static void assertEquals(String JavaDoc message, Attributes JavaDoc expected, Attributes JavaDoc actual) {
93         if ((expected == null && actual == null) || (expected != null && expected.equals(actual))) {
94             return;
95         }
96
97         String JavaDoc formatted = "";
98         if (message != null) {
99             formatted = message + " ";
100         }
101
102         Assert.assertNotNull(formatted + "[expected] expected not <null>", expected);
103         Assert.assertNotNull(formatted + "[actual] expected not <null>", actual);
104
105         try {
106             NamingEnumeration JavaDoc ids = expected.getIDs();
107             while (ids.hasMore()) {
108                 String JavaDoc key = ids.next().toString();
109                 assertEquals(message, expected.get(key), actual.get(key));
110             }
111         } catch (NamingException JavaDoc e) {
112             throw new AssertionFailedError(e);
113         }
114     }
115
116     /**
117      * Asserts that two attributes are equal. Throws an
118      * <tt>AssertionFailedError</tt> if not.
119      */

120     public static void assertEquals(Attribute JavaDoc expected, Attribute JavaDoc actual) {
121         assertEquals(null, expected, actual);
122     }
123     
124     /**
125      * Asserts that two attributes are equal. Throws an
126      * <tt>AssertionFailedError</tt> if not.
127      */

128     public static void assertEquals(String JavaDoc message, Attribute JavaDoc expected, Attribute JavaDoc actual) {
129         if ((expected == null && actual == null) || (expected != null && expected.equals(actual))) {
130             return;
131         }
132
133         String JavaDoc formatted = "";
134         if (message != null) {
135             formatted = message + " ";
136         }
137
138         Assert.assertNotNull(formatted + "[expected] expected not <null>", expected);
139         Assert.assertNotNull(formatted + "[actual] expected not <null>", actual);
140
141         try {
142             assertEquals(message, expected.getAll(), actual.getAll());
143         } catch (NamingException JavaDoc e) {
144             throw new AssertionFailedError(e);
145         }
146     }
147
148     /**
149      * Asserts that two <tt>NamingEnumeration</tt>s are equal. Throws an
150      * <tt>AssertionFailedError</tt> if not.
151      */

152     public static void assertEquals(NamingEnumeration JavaDoc expected, NamingEnumeration JavaDoc actual) {
153         assertEquals(null, expected, actual);
154     }
155
156     /**
157      * Asserts that two <tt>NamingEnumeration</tt>s are equal. Throws an
158      * <tt>AssertionFailedError</tt> if not.
159      */

160     public static void assertEquals(String JavaDoc message, NamingEnumeration JavaDoc expected, NamingEnumeration JavaDoc actual) {
161         try {
162             ListAssert.assertEquals(message, NamingUtil.toList(expected), NamingUtil.toList(actual));
163         } catch (NamingException JavaDoc e) {
164             throw new AssertionFailedError(e);
165         }
166     }
167
168 }
169
Popular Tags