KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > mina > common > DefaultIoFilterChainBuilderTest


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20 package org.apache.mina.common;
21
22 import java.util.Iterator JavaDoc;
23
24 import junit.framework.Assert;
25 import junit.framework.TestCase;
26
27 import org.apache.mina.common.IoFilterChain.Entry;
28
29 /**
30  * Tests {@link DefaultIoFilterChainBuilder}.
31  *
32  * @author The Apache Directory Project (mina-dev@directory.apache.org)
33  * @version $Rev$, $Date$
34  */

35 public class DefaultIoFilterChainBuilderTest extends TestCase {
36     public static void main(String JavaDoc[] args) {
37         junit.textui.TestRunner.run(DefaultIoFilterChainBuilderTest.class);
38     }
39
40     protected void setUp() throws Exception JavaDoc {
41     }
42
43     protected void tearDown() throws Exception JavaDoc {
44     }
45
46     public void testAdd() throws Exception JavaDoc {
47         DefaultIoFilterChainBuilder builder = new DefaultIoFilterChainBuilder();
48
49         builder.addFirst("A", new IoFilterAdapter());
50         builder.addLast("B", new IoFilterAdapter());
51         builder.addFirst("C", new IoFilterAdapter());
52         builder.addLast("D", new IoFilterAdapter());
53         builder.addBefore("B", "E", new IoFilterAdapter());
54         builder.addBefore("C", "F", new IoFilterAdapter());
55         builder.addAfter("B", "G", new IoFilterAdapter());
56         builder.addAfter("D", "H", new IoFilterAdapter());
57
58         String JavaDoc actual = "";
59         for (Iterator JavaDoc i = builder.getAll().iterator(); i.hasNext();) {
60             Entry e = (Entry) i.next();
61             actual += e.getName();
62         }
63
64         Assert.assertEquals("FCAEBGDH", actual);
65     }
66
67     public void testGet() throws Exception JavaDoc {
68         DefaultIoFilterChainBuilder builder = new DefaultIoFilterChainBuilder();
69
70         IoFilter filterA = new IoFilterAdapter();
71         IoFilter filterB = new IoFilterAdapter();
72         IoFilter filterC = new IoFilterAdapter();
73         IoFilter filterD = new IoFilterAdapter();
74
75         builder.addFirst("A", filterA);
76         builder.addLast("B", filterB);
77         builder.addBefore("B", "C", filterC);
78         builder.addAfter("A", "D", filterD);
79
80         Assert.assertSame(filterA, builder.get("A"));
81         Assert.assertSame(filterB, builder.get("B"));
82         Assert.assertSame(filterC, builder.get("C"));
83         Assert.assertSame(filterD, builder.get("D"));
84     }
85
86     public void testRemove() throws Exception JavaDoc {
87         DefaultIoFilterChainBuilder builder = new DefaultIoFilterChainBuilder();
88
89         builder.addLast("A", new IoFilterAdapter());
90         builder.addLast("B", new IoFilterAdapter());
91         builder.addLast("C", new IoFilterAdapter());
92         builder.addLast("D", new IoFilterAdapter());
93         builder.addLast("E", new IoFilterAdapter());
94
95         builder.remove("A");
96         builder.remove("E");
97         builder.remove("C");
98         builder.remove("B");
99         builder.remove("D");
100
101         Assert.assertEquals(0, builder.getAll().size());
102     }
103
104     public void testClear() throws Exception JavaDoc {
105         DefaultIoFilterChainBuilder builder = new DefaultIoFilterChainBuilder();
106
107         builder.addLast("A", new IoFilterAdapter());
108         builder.addLast("B", new IoFilterAdapter());
109         builder.addLast("C", new IoFilterAdapter());
110         builder.addLast("D", new IoFilterAdapter());
111         builder.addLast("E", new IoFilterAdapter());
112
113         builder.clear();
114
115         Assert.assertEquals(0, builder.getAll().size());
116     }
117
118     public void testToString() {
119         DefaultIoFilterChainBuilder builder = new DefaultIoFilterChainBuilder();
120
121         // When the chain is empty
122
Assert.assertEquals("{ empty }", builder.toString());
123
124         // When there's one filter
125
builder.addLast("A", new IoFilterAdapter() {
126             public String JavaDoc toString() {
127                 return "B";
128             }
129         });
130         Assert.assertEquals("{ (A:B) }", builder.toString());
131
132         // When there are two
133
builder.addLast("C", new IoFilterAdapter() {
134             public String JavaDoc toString() {
135                 return "D";
136             }
137         });
138         Assert.assertEquals("{ (A:B), (C:D) }", builder.toString());
139     }
140 }
141
Popular Tags