package org.compass.core.test.property.inputstream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import org.compass.core.CompassSession;
import org.compass.core.CompassTransaction;
import org.compass.core.test.AbstractTestCase;
/**
* @author kimchy
*/
public class InputStreamTests extends AbstractTestCase {
protected String[] getMappings() {
return new String[]{"property/inputstream/mapping.cpm.xml"};
}
public void testInputStream() throws IOException {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
Long id = new Long(1);
InputStreamType o = new InputStreamType();
o.setId(id);
byte[] bytes = new byte[]{1, 2, 3};
ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
o.setInputStream(inputStream);
session.save(o);
tr.commit();
tr = session.beginTransaction();
o = (InputStreamType) session.load(InputStreamType.class, id);
assertEquals(id, o.getId());
assertNotNull(o.getInputStream());
assertEquals(1, o.getInputStream().read());
assertEquals(2, o.getInputStream().read());
assertEquals(3, o.getInputStream().read());
tr.commit();
}
public void testBinaryArray() {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
Long id = new Long(1);
byte[] bytes = new byte[]{1, 2, 3};
Byte[] oBytes = new Byte[]{new Byte((byte) 1), new Byte((byte) 2), new Byte((byte) 3)};
BinaryArrayType o = new BinaryArrayType();
o.setId(id);
o.setBytes(bytes);
o.setOBytes(oBytes);
session.save(o);
o = (BinaryArrayType) session.load(BinaryArrayType.class, id);
assertNotNull(o.getBytes());
assertEquals(3, o.getBytes().length);
assertEquals(1, o.getBytes()[0]);
assertEquals(2, o.getBytes()[1]);
assertEquals(3, o.getBytes()[2]);
assertEquals(3, o.getOBytes().length);
assertEquals(new Byte((byte) 1), o.getOBytes()[0]);
assertEquals(new Byte((byte) 2), o.getOBytes()[1]);
assertEquals(new Byte((byte) 3), o.getOBytes()[2]);
tr.commit();
session.close();
}
}