You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2005/04/05 20:05:52 UTC
cvs commit: jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/io XByteBufferTest.java
pero 2005/04/05 11:05:52
Modified: modules/cluster/src/share/org/apache/catalina/cluster/io
XByteBuffer.java
Added: modules/cluster/test/src/share/org/apache/catalina/cluster/io
XByteBufferTest.java
Log:
Extract test code and move to real unit testcase!
Revision Changes Path
1.12 +1 -47 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
Index: XByteBuffer.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- XByteBuffer.java 25 Mar 2005 22:21:26 -0000 1.11
+++ XByteBuffer.java 5 Apr 2005 18:05:52 -0000 1.12
@@ -393,51 +393,5 @@
}
- // FIXME: extract this to test code!
- public static void main(String[] args) throws Exception {
- log.info("Before="+Integer.MAX_VALUE);
- byte[] d = toBytes(Integer.MAX_VALUE);
- log.info("After="+toInt(d,0));
-
-
- log.info("Before="+Long.MAX_VALUE);
- d = toBytes(Long.MAX_VALUE);
- log.info("After="+toLong(d,0));
-
- log.info("Before=" + 4564564);
- d = toBytes((long)4564564);
- log.info("After=" + toLong(d, 0));
-
- byte[] d1 = createDataPackage(new byte[] {1},true);
- byte[] d2 = createDataPackage(new byte[] {2},true);
- byte[] d3 = createDataPackage(new byte[] {3},true);
- byte[] test = new byte[d1.length+d2.length+d3.length+5];
- System.arraycopy(d1,0,test,0,d1.length);
- System.arraycopy(d2,0,test,d1.length,d2.length);
- System.arraycopy(d3,0,test,d2.length+d1.length,d3.length);
- printBuf(d1);
- printBuf(d2);
- printBuf(d3);
- printBuf(test);
- XByteBuffer b = new XByteBuffer();
- b.append(test,0,test.length);
- int s = b.countPackages();
- log.info("Nr of packages="+s);
- while ( s > 0 ) {
- d = b.extractPackage(true);
- log.info("Package d1=");
- printBuf(d);
- s--;
- }//while
-
- }
-
- public static void printBuf(byte[] b) {
- StringBuffer buf = new StringBuffer();
- for ( int i=0; i<b.length; i++ ) {
- buf.append(b[i] + " ");
- }
- log.info(buf);
- }
}
1.1 jakarta-tomcat-catalina/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
Index: XByteBufferTest.java
===================================================================
/*
* Copyright 1999,2005 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.catalina.cluster.io;
import java.io.IOException;
import junit.framework.TestCase;
/**
* @author Peter Rossbach
*
* @version $Revision: 1.1 $ $Date: 2005/04/05 18:05:52 $
*/
public class XByteBufferTest extends TestCase {
public void testBytes() {
XByteBuffer xbuf = new XByteBuffer() ;
assertEquals(0,xbuf.bufSize);
assertEquals(1024,xbuf.buf.length);
assertEquals(0,xbuf.getBytes().length);
assertNotSame(xbuf.buf,xbuf.getBytes());
}
/**
* Test append to message buffer
* Test that only correct message header are appended
*/
public void testAppend() {
XByteBuffer xbuf = new XByteBuffer();
byte[] bs = new byte[] { 1, 2, 3 };
boolean status = xbuf.append(bs, 0, 3);
assertTrue(status);
assertEquals(3, xbuf.bufSize);
byte buf[] = xbuf.getBytes();
assertEquals(3, buf.length);
status = xbuf.append(bs, 0, 3);
assertTrue(status);
status = xbuf.append(bs, 0, 3);
// not a correct message !!
assertFalse(status);
// buffer is cleared
assertEquals(0,xbuf.bufSize);
status = xbuf.append(XByteBuffer.START_DATA,0, XByteBuffer.START_DATA.length);
assertTrue(status);
}
/**
* Test create a compress multi message data package and extract it
* @throws IOException
*/
public void testSendCompressedMessage() throws IOException {
assertSendMessage(true);
}
/**
* Test create a uncompressed multi message data package and extract it
* @throws IOException
*/
public void testSendUncompressedMessage() throws IOException {
assertSendMessage(false);
}
/**
* @throws IOException
*/
private void assertSendMessage(boolean compress) throws IOException {
byte[] test = createMessage(compress);
XByteBuffer b = new XByteBuffer(compress);
b.append(test, 0, test.length);
int s = b.countPackages();
byte[] d ;
assertEquals(3, s);
for (byte i = 1; i < 4; i++) {
d = b.extractPackage(true);
assertEquals(i, d[0]);
}
}
/**
* @return
* @throws IOException
*/
private byte[] createMessage(boolean compress) throws IOException {
byte[] d1 = XByteBuffer.createDataPackage(new byte[] { 1 }, compress);
byte[] d2 = XByteBuffer.createDataPackage(new byte[] { 2 }, compress);
byte[] d3 = XByteBuffer.createDataPackage(new byte[] { 3 }, compress);
byte[] test = new byte[d1.length + d2.length + d3.length + 5];
System.arraycopy(d1, 0, test, 0, d1.length);
System.arraycopy(d2, 0, test, d1.length, d2.length);
System.arraycopy(d3, 0, test, d2.length + d1.length, d3.length);
return test;
}
/**
* Test the type convertes to and from byte array
*/
public void testTypeconverter() {
byte[] d = XByteBuffer.toBytes(Integer.MAX_VALUE);
assertEquals(4, d.length);
assertEquals(Integer.MAX_VALUE, XByteBuffer.toInt(d, 0));
d = XByteBuffer.toBytes(Long.MAX_VALUE);
assertEquals(8, d.length);
assertEquals(Long.MAX_VALUE, XByteBuffer.toLong(d, 0));
d = XByteBuffer.toBytes((long) 4564564);
assertEquals(4564564, XByteBuffer.toLong(d, 0));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org