public void CountClear() { var builder = new BlobBuilder(); Assert.Equal(0, builder.Count); builder.WriteByte(1); Assert.Equal(1, builder.Count); builder.WriteInt32(4); Assert.Equal(5, builder.Count); builder.Clear(); Assert.Equal(0, builder.Count); builder.WriteInt64(1); Assert.Equal(8, builder.Count); AssertEx.Equal(new byte[] { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, builder.ToArray()); }
public void GetBlobs() { var builder = new BlobBuilder(16); builder.WriteBytes(1, 100); var blobs = builder.GetBlobs().ToArray(); Assert.Equal(2, blobs.Length); Assert.Equal(16, blobs[0].Length); Assert.Equal(100 - 16, blobs[1].Length); builder.WriteByte(1); blobs = builder.GetBlobs().ToArray(); Assert.Equal(3, blobs.Length); Assert.Equal(16, blobs[0].Length); Assert.Equal(16, blobs[0].GetUnderlyingBuffer().Array.Length); Assert.Equal(100 - 16, blobs[1].Length); Assert.Equal(100 - 16, blobs[1].GetUnderlyingBuffer().Array.Length); Assert.Equal(1, blobs[2].Length); Assert.Equal(100 - 16, blobs[2].GetUnderlyingBuffer().Array.Length); builder.Clear(); blobs = builder.GetBlobs().ToArray(); Assert.Equal(1, blobs.Length); Assert.Equal(0, blobs[0].Length); // Clear uses the first buffer: Assert.Equal(16, blobs[0].GetUnderlyingBuffer().Array.Length); }