/*
* Licensed under the Apache License, Version 2.0 (the "License");
*
* You may not use this file except in compliance with the License.
*
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Contributions from 2013-2017 where performed either by US government
* employees, or under US Veterans Health Administration contracts.
*
* US Veterans Health Administration contributions by government employees
* are work of the U.S. Government and are not subject to copyright
* protection in the United States. Portions contributed by government
* employees are USGovWork (17USC §105). Not subject to copyright.
*
* Contribution by contractors to the US Veterans Health Administration
* during this period are contractually contributed under the
* Apache License, Version 2.0.
*
* See: https://www.usa.gov/government-works
*
* Contributions prior to 2013:
*
* Copyright (C) International Health Terminology Standards Development Organisation.
* Licensed under the Apache License, Version 2.0.
*
*/
package sh.isaac.model;
//~--- non-JDK imports --------------------------------------------------------
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import sh.isaac.api.externalizable.ByteArrayDataBuffer;
//~--- classes ----------------------------------------------------------------
/**
* The Class DataBufferTest.
*
* @author kec
*/
public class DataBufferTest {
/**
* Instantiates a new data buffer test.
*/
public DataBufferTest() {}
//~--- methods -------------------------------------------------------------
/**
* Tear down.
*/
@After
public void tearDown() {}
/**
* Tear down class.
*/
@AfterClass
public static void tearDownClass() {}
/**
* Test of trimToSize method, of class ByteArrayDataBuffer.
*/
@Test
public void testCompress() {
System.out.println("compress");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.putInt(5);
instance.trimToSize();
assertEquals(instance.getData().length, 4);
}
/**
* Test edge UTF.
*/
@Test
public void testEdgeUTF() {
System.out.println("readUTF");
final String str = "is-a";
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.putShort((short) 4);
instance.putInt(13);
instance.putInt(16);
instance.putUTF(str);
instance.putInt(11);
instance.rewind();
assertEquals(4, instance.getShort());
assertEquals(13, instance.getInt());
assertEquals(16, instance.getInt());
final String result = instance.readUTF();
assertEquals(str, result);
assertEquals(11, instance.getInt());
}
/**
* Test of get method, of class ByteArrayDataBuffer.
*/
@Test
public void testGet() {
System.out.println("get");
final byte[] src = new byte[] { 1, 2, 3 };
final int offset = 0;
final int length = 3;
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.put(src);
instance.rewind();
final byte[] result = new byte[3];
instance.get(result, offset, length);
assertArrayEquals(src, result);
}
/**
* Test of getByte method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetByte() {
System.out.println("getByte");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final byte expResult = 5;
instance.putByte(expResult);
instance.rewind();
final byte result = instance.getByte();
assertEquals(expResult, result);
}
/**
* Test of getChar method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetChar() {
System.out.println("getChar");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final char expResult = ' ';
instance.putChar(expResult);
instance.rewind();
final char result = instance.getChar();
assertEquals(expResult, result);
}
/**
* Test of getData method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetData() {
System.out.println("getData");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final byte[] expResult = new byte[10];
final byte[] result = instance.getData();
assertArrayEquals(expResult, result);
}
/**
* Test of getDouble method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetDouble() {
System.out.println("getDouble");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final double expResult = Double.MAX_VALUE;
instance.putDouble(expResult);
instance.rewind();
final double result = instance.getDouble();
assertEquals(expResult, result, 0.0);
}
/**
* Test of getFloat method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetFloat() {
System.out.println("getFloat");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final float expResult = 7.3F;
instance.putFloat(expResult);
instance.rewind();
final float result = instance.getFloat();
assertEquals(expResult, result, 0.0);
}
/**
* Test of getInt method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetInt() {
System.out.println("getInt");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final int expResult = 9;
instance.putInt(expResult);
instance.rewind();
final int result = instance.getInt();
assertEquals(expResult, result);
}
/**
* Test of getLong method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetLong() {
System.out.println("getLong");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final long expResult = Long.MAX_VALUE - 5;
instance.putLong(expResult);
instance.rewind();
final long result = instance.getLong();
assertEquals(expResult, result);
}
/**
* Test of getPosition method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetPosition() {
System.out.println("getPosition");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final int expResult = 0;
final int result = instance.getPosition();
assertEquals(expResult, result);
}
/**
* Test of getShort method, of class ByteArrayDataBuffer.
*/
@Test
public void testGetShort() {
System.out.println("getShort");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final short expResult = 19;
instance.putShort(expResult);
instance.rewind();
final short result = instance.getShort();
assertEquals(expResult, result);
}
/**
* Test of put method, of class ByteArrayDataBuffer.
*/
@Test
public void testPut() {
System.out.println("put");
final byte[] src = new byte[] { 3, 2, 9 };
final int offset = 0;
final int length = 3;
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.put(src);
instance.rewind();
final byte[] result = new byte[3];
instance.get(result, offset, length);
assertArrayEquals(src, result);
}
/**
* Test of putByte method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutByte() {
System.out.println("putByte");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final byte expResult = 23;
instance.putByte(expResult);
instance.rewind();
final byte result = instance.getByte();
assertEquals(expResult, result);
}
/**
* Test of putChar method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutChar() {
System.out.println("putChar");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final char expResult = '&';
instance.putChar(expResult);
instance.rewind();
final char result = instance.getChar();
assertEquals(expResult, result);
}
/**
* Test of putDouble method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutDouble() {
System.out.println("putDouble");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final double expResult = Double.MIN_VALUE;
instance.putDouble(expResult);
instance.rewind();
final double result = instance.getDouble();
assertEquals(expResult, result, 0.0);
}
/**
* Test of putFloat method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutFloat() {
System.out.println("putFloat");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final float expResult = 9.14F;
instance.putFloat(expResult);
instance.rewind();
final float result = instance.getFloat();
assertEquals(expResult, result, 0.0);
}
/**
* Test of putInt method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutInt() {
System.out.println("putInt");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final int expResult = 19;
instance.putInt(expResult);
instance.rewind();
final int result = instance.getInt();
assertEquals(expResult, result);
}
/**
* Test of putLong method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutLong() {
System.out.println("putLong");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final long expResult = Long.MIN_VALUE + 7;
instance.putLong(expResult);
instance.rewind();
final long result = instance.getLong();
assertEquals(expResult, result);
}
/**
* Test of putShort method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutShort() {
System.out.println("putShort");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final short expResult = 37;
instance.putShort(expResult);
instance.rewind();
final short result = instance.getShort();
assertEquals(expResult, result);
}
/**
* Test of putUTF method, of class ByteArrayDataBuffer.
*/
@Test
public void testPutUTF() {
System.out.println("putUTF");
final String str = "Now is the time for all † ‡ °";
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.putUTF(str);
instance.rewind();
final String result = instance.readUTF();
assertEquals(str, result);
}
/**
* Test of readUTF method, of class ByteArrayDataBuffer.
*/
@Test
public void testReadUTF() {
System.out.println("readUTF");
final String str = "Fine for all ˜ Â the time for all † ‡ °";
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
instance.putUTF(str);
instance.rewind();
final String result = instance.readUTF();
assertEquals(str, result);
}
/**
* Test of reset method, of class ByteArrayDataBuffer.
*/
@Test
public void testReset() {
System.out.println("clear");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final int expResult = 5;
instance.setPosition(expResult);
instance.clear();
final int result = instance.getPosition();
assertEquals(0, result);
}
/**
* Test of setPosition method, of class ByteArrayDataBuffer.
*/
@Test
public void testSetPosition() {
System.out.println("setPosition");
final ByteArrayDataBuffer instance = new ByteArrayDataBuffer(10);
final int expResult = 5;
instance.setPosition(expResult);
final int result = instance.getPosition();
assertEquals(expResult, result);
}
//~--- set methods ---------------------------------------------------------
/**
* Set up.
*/
@Before
public void setUp() {}
/**
* Set up class.
*/
@BeforeClass
public static void setUpClass() {}
}