binaryWriter.serialize(byteBuffer);
binaryWriter.serialize(byteBuffer);
public void write(final ATerm input, final byte[] expectedResult) throws Exception { final ByteBuffer buffer = ByteBuffer.allocate(expectedResult.length + 10); final BinaryWriter bw = new BinaryWriter(input); bw.serialize(buffer); final byte[] result = new byte[buffer.limit()]; buffer.get(result); final int expectedResultLength = expectedResult.length; final int resultLength = result.length; if (expectedResultLength != resultLength) { log("The number of written bytes didn't match the number of _expected bytes. Was: " + resultLength + ", _expected: " + expectedResultLength); return; } for (int i = 0; i < resultLength; i++) if (result[i] != expectedResult[i]) { log("Written data didn't match the _expected data. Index: " + i + ", was " + result[i] + ", _expected " + expectedResult[i]); return; } log("Writing OK for: " + input); }
@Test public void testChunkification() throws VisitFailure { final ATerm in = makeBigDummyTerm(2500); final ByteBuffer buffer = ByteBuffer.allocate(1000); final BinaryWriter bw = new BinaryWriter(in); final BinaryReader binaryReader = new BinaryReader(_pureFactory); while (!binaryReader.isDone()) { buffer.clear(); bw.serialize(buffer); binaryReader.deserialize(buffer); } final ATerm result = binaryReader.getRoot(); if (result == in) log("Chunkification OK"); else log("Chunkification FAILED"); }