You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/12/06 04:51:24 UTC
svn commit: r354282 - in
/directory/network/trunk/src/test/org/apache/mina/handler/chain: ./
ChainedIoHandlerTest.java
Author: trustin
Date: Mon Dec 5 19:51:21 2005
New Revision: 354282
URL: http://svn.apache.org/viewcvs?rev=354282&view=rev
Log:
Added a test case for ChainedIoHandler
Added:
directory/network/trunk/src/test/org/apache/mina/handler/chain/
directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java (with props)
Added: directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java?rev=354282&view=auto
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java (added)
+++ directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java Mon Dec 5 19:51:21 2005
@@ -0,0 +1,117 @@
+/*
+ * @(#) $Id$
+ *
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.mina.handler.chain;
+
+import java.net.SocketAddress;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.mina.common.IoFilterChain;
+import org.apache.mina.common.IoHandler;
+import org.apache.mina.common.IoSession;
+import org.apache.mina.common.IoSessionManager;
+import org.apache.mina.common.TransportType;
+import org.apache.mina.common.support.BaseIoSession;
+
+/**
+ * A test case for {@link ChainedIoHandler}.
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ */
+public class ChainedIoHandlerTest extends TestCase
+{
+ public static void main( String[] args )
+ {
+ junit.textui.TestRunner.run( ChainedIoHandlerTest.class );
+ }
+
+ public void testChainedCommand() throws Exception
+ {
+ IoHandlerChain chain = new IoHandlerChain();
+ StringBuffer buf = new StringBuffer();
+ chain.addLast( "A", new TestCommand( buf, 'A' ) );
+ chain.addLast( "B", new TestCommand( buf, 'B' ) );
+ chain.addLast( "C", new TestCommand( buf, 'C' ) );
+
+ new ChainedIoHandler( chain ).messageReceived(
+ new BaseIoSession()
+ {
+ protected void updateTrafficMask()
+ {
+ }
+
+ public IoSessionManager getManager()
+ {
+ return null;
+ }
+
+ public IoHandler getHandler()
+ {
+ return null;
+ }
+
+ public IoFilterChain getFilterChain()
+ {
+ return null;
+ }
+
+ public TransportType getTransportType()
+ {
+ return null;
+ }
+
+ public SocketAddress getRemoteAddress()
+ {
+ return null;
+ }
+
+ public SocketAddress getLocalAddress()
+ {
+ return null;
+ }
+
+ public int getScheduledWriteRequests()
+ {
+ return 0;
+ }
+ }, null );
+
+ Assert.assertEquals( "ABC", buf.toString() );
+ }
+
+ private class TestCommand implements IoHandlerCommand
+ {
+ private final StringBuffer buf;
+ private final char ch;
+
+ private TestCommand( StringBuffer buf, char ch )
+ {
+ this.buf = buf;
+ this.ch = ch;
+ }
+
+ public void execute( NextCommand next, IoSession session, Object message ) throws Exception
+ {
+ buf.append( ch );
+ next.execute( session, message );
+ }
+ }
+}
Propchange: directory/network/trunk/src/test/org/apache/mina/handler/chain/ChainedIoHandlerTest.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision