public void StructRoundTrip_OneSegment() { var buffer = java.nio.ByteBuffer.wrap(new byte[1024 * 8]); var segment = new SegmentBuilder(buffer, new BuilderArena(BuilderArena.SUGGESTED_FIRST_SEGMENT_WORDS, BuilderArena.SUGGESTED_ALLOCATION_STRATEGY)); var builder = WireHelpers.initStructPointer(new BareStructBuilder(), 0, segment, new StructSize(2, 4)); setupStruct(builder); checkStruct(builder); }
public void SimpleRawDataStruct() { byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef }; var buffer = java.nio.ByteBuffer.wrap(data); var arena = new ReaderArena(new java.nio.ByteBuffer[] { buffer }, 0x7fffffffffffffffL); var reader = WireHelpers.readStructPointer(new BareStructReader(), arena.tryGetSegment(0), 0, null, 0, 0x7fffffff); Assert.AreEqual(reader._getUlongField(0), 0xefcdab8967452301L); Assert.AreEqual(reader._getLongField(1), 0L); Assert.AreEqual(reader._getUintField(0), 0x67452301); Assert.AreEqual(reader._getUintField(1), 0xefcdab89); Assert.AreEqual(reader._getUintField(2), 0); Assert.AreEqual(reader._getUshortField(0), 0x2301); Assert.AreEqual(reader._getUshortField(1), 0x6745); Assert.AreEqual(reader._getUshortField(2), 0xab89); Assert.AreEqual(reader._getUshortField(3), 0xefcd); Assert.AreEqual(reader._getUshortField(4), 0); // TODO masking Assert.AreEqual(reader._getBoolField(0), true); Assert.AreEqual(reader._getBoolField(1), false); Assert.AreEqual(reader._getBoolField(2), false); Assert.AreEqual(reader._getBoolField(3), false); Assert.AreEqual(reader._getBoolField(4), false); Assert.AreEqual(reader._getBoolField(5), false); Assert.AreEqual(reader._getBoolField(6), false); Assert.AreEqual(reader._getBoolField(7), false); Assert.AreEqual(reader._getBoolField(8), true); Assert.AreEqual(reader._getBoolField(9), true); Assert.AreEqual(reader._getBoolField(10), false); Assert.AreEqual(reader._getBoolField(11), false); Assert.AreEqual(reader._getBoolField(12), false); Assert.AreEqual(reader._getBoolField(13), true); Assert.AreEqual(reader._getBoolField(14), false); Assert.AreEqual(reader._getBoolField(15), false); Assert.AreEqual(reader._getBoolField(63), true); Assert.AreEqual(reader._getBoolField(64), false); // TODO masking }