package org.archive.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import org.archive.util.ByteOp;
import com.google.common.io.LittleEndianDataOutputStream;
import junit.framework.TestCase;
public class ByteOpTest extends TestCase {
public void testReadShort() throws IOException {
byte a[] = new byte[]{0,1,2,3};
ByteArrayInputStream bais = new ByteArrayInputStream(a);
int bos = ByteOp.readShort(bais);
System.out.format("BO.Read short(%d)\n", bos);
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(a));
int disv = dis.readUnsignedShort();
System.out.format("DI.Read short(%d)\n", disv);
for(int i = 0; i < 256 * 256; i++) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(2);
LittleEndianDataOutputStream dos = new LittleEndianDataOutputStream(baos);
dos.writeShort(i);
ByteArrayInputStream bais2 = new ByteArrayInputStream(baos.toByteArray());
int gotI = ByteOp.readShort(bais2);
assertEquals(i, gotI);
}
}
public void testAppend() {
byte a[] = new byte[]{1};
byte b[] = new byte[]{2};
byte n[] = ByteOp.append(a,b);
assertEquals(2,n.length);
assertEquals(1,n[0]);
assertEquals(2,n[1]);
byte a2[] = new byte[]{1,2,3,4};
byte b2[] = new byte[]{5,6,7,8};
byte n2[] = ByteOp.append(a2,b2);
assertEquals(8,n2.length);
assertEquals(1,n2[0]);
assertEquals(2,n2[1]);
assertEquals(5,n2[4]);
}
public void testReadInt() {
}
}