public void InitializationData_IsNormal() { var buf = new SimpleBufferWriter(new byte[6]); buf.Position.Is(0); buf.Buffered.Is(0); }
public void SeekBufferLengthIsNotException() { var buf = new SimpleBufferWriter(new byte[60], 2, 10); buf.Seek(10); buf.Position.Is(10); }
public void SeekAndBufferedIsCorrectly() { var buf = new SimpleBufferWriter(new byte[60], 2, 10); buf.Seek(5); buf.Advance(1); buf.Position.Is(6); buf.Buffered.Is(0); }
public void BufferedAndPositionIsCorrectly() { var buf = new SimpleBufferWriter(new byte[6], 2, 3); buf.Position.Is(0); buf.Buffered.Is(0); buf.Advance(1); buf.Position.Is(1); buf.Buffered.Is(1); }
private static bool TryDeserializeFromMemoryStream(ref BssomDeserializeContext context, Stream stream, Type type, out object t) { #if NETSTANDARD && !NET45 if (stream is MemoryStream ms && ms.TryGetBuffer(out ArraySegment <byte> streamBuffer)) { var buffer = new SimpleBufferWriter(streamBuffer.Array, streamBuffer.Offset, streamBuffer.Count); t = Deserialize(ref context, buffer, type); stream.Seek(buffer.Position, SeekOrigin.Current); return(true); } #endif t = default; return(false); }
public void WriteDataIsCorrectly() { var buf = new SimpleBufferWriter(new byte[60], 2, 10); Unsafe.WriteUnaligned(ref buf.GetRef(4), int.MinValue); buf.Advance(4); buf.Position.Is(4); buf.Buffered.Is(4); Unsafe.WriteUnaligned(ref buf.GetRef(4), int.MaxValue); buf.Advance(4); buf.Position.Is(8); buf.Buffered.Is(8); buf.Seek(0); Unsafe.ReadUnaligned <int>(ref buf.ReadRef()).Is(int.MinValue); buf.Seek(4); Unsafe.ReadUnaligned <int>(ref buf.ReadRef()).Is(int.MaxValue); }