/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.frame.speex.test; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.apache.log4j.Logger; import org.junit.Test; import com.ttProject.util.HexUtil; /** * buffer test? * @author taktod */ public class BufferTest { /** logger */ private Logger logger = Logger.getLogger(BufferTest.class); /** * test * @throws Exception */ @Test public void test() throws Exception { logger.info("test"); ByteBuffer buffer = ByteBuffer.allocate(4); buffer.put((byte)0x01); buffer.put((byte)0x02); buffer.put((byte)0x03); buffer.put((byte)0x04); buffer.flip(); logger.info(HexUtil.toHex(buffer)); } /** * test2 * @throws Exception */ @Test public void test2() throws Exception { logger.info("test2"); ByteBuffer buffer = ByteBuffer.allocate(4); buffer.putInt(0x01020304); buffer.flip(); logger.info(HexUtil.toHex(buffer)); } /** * test3 * @throws Exception */ @Test public void test3() throws Exception { logger.info("test3"); ByteBuffer buffer = ByteBuffer.allocate(4); buffer.order(ByteOrder.LITTLE_ENDIAN); // speex data is written in little endian. buffer.putInt(0x01020304); buffer.flip(); logger.info(HexUtil.toHex(buffer)); } /** * test4 * @throws Exception */ @Test public void test4() throws Exception { logger.info("test4"); ByteBuffer buffer = ByteBuffer.allocate(4); buffer.order(ByteOrder.LITTLE_ENDIAN); buffer.putInt(1); buffer.flip(); buffer.order(ByteOrder.BIG_ENDIAN); logger.info(buffer.getInt()); // with big engian, 1677726 is returned. } /** * test4 * @throws Exception */ @Test public void test5() throws Exception { logger.info("test5"); ByteBuffer buffer = ByteBuffer.allocate(4); buffer.put((byte)0x01); buffer.put((byte)0x00); buffer.put((byte)0x00); buffer.put((byte)0x00); buffer.flip(); buffer.order(ByteOrder.LITTLE_ENDIAN); logger.info(buffer.getInt()); // little endian I can get 1, as I expected. } }