package au.gov.ga.earthsci.model.data; import static org.junit.Assert.*; import java.nio.ByteBuffer; import javax.measure.unit.SI; import org.junit.Test; import au.gov.ga.earthsci.common.buffer.BufferType; /** * Unit tests for the {@link ModelDataBuilder} class * * @author James Navin (james.navin@ga.gov.au) */ public class ModelDataBuilderTest { @Test(expected = IllegalArgumentException.class) public void testBuildWithNullBuffer() { ByteBuffer buffer = null; ModelDataBuilder.createFromBuffer(buffer).build(); } @Test(expected = IllegalArgumentException.class) public void testBuildWithNoBufferType() { ByteBuffer buffer = ByteBuffer.wrap(new byte[12]); ModelDataBuilder.createFromBuffer(buffer).build(); } @Test public void testBuildWithMinimalValid() { ByteBuffer buffer = ByteBuffer.wrap(new byte[12]); IModelData data = ModelDataBuilder.createFromBuffer(buffer).ofType(BufferType.BYTE).build(); assertNotNull(data.getId()); assertNull(data.getName()); assertNull(data.getDescription()); assertEquals(buffer, data.getSource()); assertNull(data.getNoDataValue()); assertFalse(data.hasUnits()); assertNull(data.getUnits()); assertEquals(1, data.getGroupSize()); assertEquals(12, data.getNumberOfValues()); assertEquals(12, data.getNumberOfGroups()); } @Test public void testBuildWithCompleteValid() { ByteBuffer buffer = ByteBuffer.wrap(new byte[12]); IModelData data = ModelDataBuilder.createFromBuffer(buffer).ofType(BufferType.BYTE).withId("dataId").named("myData") .describedAs("some data").withNodata((byte) 1).withUnits(SI.SECOND).withGroupSize(3).build(); assertEquals("dataId", data.getId()); assertEquals("myData", data.getName()); assertEquals("some data", data.getDescription()); assertEquals(buffer, data.getSource()); assertEquals((byte) 1, data.getNoDataValue()); assertTrue(data.hasUnits()); assertEquals(SI.SECOND, data.getUnits()); assertEquals(3, data.getGroupSize()); assertEquals(12, data.getNumberOfValues()); assertEquals(4, data.getNumberOfGroups()); } @Test(expected = IllegalArgumentException.class) public void testBuildWithInvalidGroupSize() { ByteBuffer buffer = ByteBuffer.wrap(new byte[12]); ModelDataBuilder.createFromBuffer(buffer).ofType(BufferType.BYTE).withGroupSize(0).build(); } }