KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jivesoftware > smack > filter > AndFilterTest


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

52
53 package org.jivesoftware.smack.filter;
54
55 import junit.framework.TestCase;
56 import org.jivesoftware.smack.packet.*;
57
58 /**
59  * A test case for the AndFilter class.
60  */

61 public class AndFilterTest extends TestCase {
62
63     public void testNullArgs() {
64         PacketFilter filter = null;
65         try {
66             AndFilter and = new AndFilter(filter, filter);
67             fail("Should have thrown IllegalArgumentException");
68         }
69         catch (IllegalArgumentException JavaDoc e) {
70             assertTrue(true);
71         }
72     }
73
74     public void testAccept() {
75         MockPacketFilter trueFilter = new MockPacketFilter(true);
76         MockPacketFilter falseFilter = new MockPacketFilter(false);
77
78         MockPacket packet = new MockPacket();
79
80         AndFilter andFilter = new AndFilter(trueFilter, trueFilter);
81         assertTrue(andFilter.accept(packet));
82
83         andFilter = new AndFilter(trueFilter, falseFilter);
84         assertFalse(andFilter.accept(packet));
85
86         andFilter = new AndFilter(falseFilter, trueFilter);
87         assertFalse(andFilter.accept(packet));
88
89         andFilter = new AndFilter(falseFilter, falseFilter);
90         assertFalse(andFilter.accept(packet));
91
92         andFilter = new AndFilter();
93         andFilter.addFilter(trueFilter);
94         andFilter.addFilter(trueFilter);
95         andFilter.addFilter(falseFilter);
96         andFilter.addFilter(trueFilter);
97         assertFalse(andFilter.accept(packet));
98     }
99 }
100
Popular Tags