package edu.washington.escience.myria.column; import static org.junit.Assert.assertEquals; import java.nio.BufferOverflowException; import org.junit.Test; import edu.washington.escience.myria.Type; import edu.washington.escience.myria.column.FloatColumn; import edu.washington.escience.myria.column.builder.FloatColumnBuilder; import edu.washington.escience.myria.proto.DataProto.ColumnMessage; import edu.washington.escience.myria.storage.TupleBatch; import edu.washington.escience.myria.storage.TupleUtils; public class FloatColumnTest { @Test public void testProto() { final FloatColumnBuilder original = new FloatColumnBuilder(); original.appendFloat(1.0f).appendFloat(2.0f).appendFloat(5.0f).appendFloat(11.0f); FloatColumn column = original.build(); final ColumnMessage serialized = column.serializeToProto(); final FloatColumn deserialized = FloatColumnBuilder.buildFromProtobuf(serialized, original.size()); assertEquals(column.getObject(0), deserialized.getObject(0)); assertEquals(column.getObject(1), deserialized.getObject(1)); assertEquals(column.getObject(2), deserialized.getObject(2)); assertEquals(column.getObject(3), deserialized.getObject(3)); } @Test public void testFull() { final FloatColumnBuilder builder = new FloatColumnBuilder(); for (int i = 0; i < TupleUtils.getBatchSize(Type.FLOAT_TYPE); i++) { builder.appendFloat(i * 1.0f); } builder.build(); } @Test(expected = BufferOverflowException.class) public void testOverflow() { final FloatColumnBuilder builder = new FloatColumnBuilder(); for (int i = 0; i < TupleUtils.getBatchSize(Type.FLOAT_TYPE); i++) { builder.appendFloat(i * 1.0f); } builder.appendFloat(0.0f); builder.build(); } }