package com.navercorp.pinpoint.rpc.buffer; import org.junit.Test; import java.nio.ByteBuffer; import java.nio.ByteOrder; /** * @Author Taejin Koo */ public class ByteBufferFactoryTest { @Test public void directByteBufferFactoryTest() throws Exception { ByteBufferFactory byteBufferFactory = ByteBufferFactoryLocator.getFactory("direct"); ByteBuffer buffer = byteBufferFactory.getBuffer(20); assertBufferOrder(buffer, ByteBufferFactory.DEFAULT_BYTE_ORDER); assertBufferType(buffer, true); } @Test public void heapByteBufferFactoryTest() throws Exception { ByteBufferFactory byteBufferFactory = ByteBufferFactoryLocator.getFactory("heap"); ByteBuffer buffer = byteBufferFactory.getBuffer(20); assertBufferOrder(buffer, ByteBufferFactory.DEFAULT_BYTE_ORDER); assertBufferType(buffer, false); } @Test(expected = IllegalArgumentException.class) public void unknownByteBufferFactoryTest() throws Exception { ByteBufferFactory byteBufferFactory = ByteBufferFactoryLocator.getFactory("unknown"); } private void assertBufferOrder(ByteBuffer byteBuffer, ByteOrder order) { if (byteBuffer.order() != order) { throw new IllegalArgumentException(""); } } private void assertBufferType(ByteBuffer byteBuffer, boolean isDirect) { if (byteBuffer.isDirect() != isDirect) { throw new IllegalArgumentException(""); } } }