public void WriteI2(short value) { var destination = new BufferDataDestination(); var writer = new BigEndianWriter(destination); writer.WriteI2(value); Verify(value, destination); }
public void DataWrittenToDestination() { var destination = new BufferDataDestination(); var writer = new BigEndianWriter(destination); writer.WriteU4(0xcafebabe); destination.Buffer.ToArray().Should().Equal(0xca, 0xfe, 0xba, 0xbe); }
private static unsafe void Verify <T>(T data, BufferDataDestination destination) where T : unmanaged { var buffer = destination.Buffer; destination.Position.Should().Be(sizeof(T)); for (int i = 0; i < sizeof(T); i++) { byte value = *((byte *)&data + i); buffer[sizeof(nint) == 4 ? i : sizeof(T) - i - 1].Should().Be(value); } }
public void U2Length(ushort bytes) { using var destination = new BufferDataDestination(); using (var writer = new BigEndianWriter(destination).WithU2Length()) { for (int i = 0; i < bytes; i++) { writer.WriteU1(123); } } var length = destination.Buffer[..2];