public unsafe void BuildPtrTable_LargeRefs() { const int rowSize = 6; const int secondColumnOffset = 2; var table = new byte[] { 0xAA, 0xAA, 0x10, 0x00, 0x05, 0x00, 0xBB, 0xBB, 0x10, 0x00, 0x04, 0x00, 0xCC, 0xCC, 0x10, 0x00, 0x02, 0x01, 0xDD, 0xDD, 0x10, 0x00, 0x02, 0x00, 0xEE, 0xEE, 0x10, 0x00, 0x01, 0x01, }; int rowCount = table.Length / rowSize; fixed(byte *tablePtr = table) { var block = new MemoryBlock(tablePtr, table.Length); Assert.Equal(0x00040010U, block.PeekReference(8, smallRefSize: false)); var actual = block.BuildPtrTable(rowCount, rowSize, secondColumnOffset, isReferenceSmall: false); var expected = new uint[] { 4, 2, 1, 5, 3 }; AssertEx.Equal(expected, actual); } }