Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/aspnet/MessagePack-CSharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/MessagePack.Tests/MessagePackBinaryTest.cs')
-rw-r--r--tests/MessagePack.Tests/MessagePackBinaryTest.cs320
1 files changed, 176 insertions, 144 deletions
diff --git a/tests/MessagePack.Tests/MessagePackBinaryTest.cs b/tests/MessagePack.Tests/MessagePackBinaryTest.cs
index db0b651f..fe68ec6e 100644
--- a/tests/MessagePack.Tests/MessagePackBinaryTest.cs
+++ b/tests/MessagePack.Tests/MessagePackBinaryTest.cs
@@ -33,19 +33,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.WriteNil();
writer.Flush();
- writer.WrittenBytes.Length.Is(1);
+ sequence.Length.Is(1);
- packer.PackNull().Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.PackNull().Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadNil().Is(Nil.Default);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).IsNil.IsTrue();
+ CreateUnpackedReference(sequence).IsNil.IsTrue();
}
[Theory]
@@ -55,19 +56,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadBoolean().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsBoolean().Is(target);
+ CreateUnpackedReference(sequence).AsBoolean().Is(target);
}
[Theory]
@@ -79,19 +81,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadByte().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsByte().Is(target);
+ CreateUnpackedReference(sequence).AsByte().Is(target);
}
public static object[][] bytesTestData = new object[][]
@@ -109,19 +112,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.PackBinary(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.PackBinary(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadBytes().ToArray().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsBinary().Is(target);
+ CreateUnpackedReference(sequence).AsBinary().Is(target);
}
[Theory]
@@ -140,19 +144,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadSByte().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsSByte().Is(target);
+ CreateUnpackedReference(sequence).AsSByte().Is(target);
}
[Theory]
@@ -169,19 +174,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadSingle().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsSingle().Is(target);
+ CreateUnpackedReference(sequence).AsSingle().Is(target);
}
[Theory]
@@ -198,19 +204,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadDouble().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsDouble().Is(target);
+ CreateUnpackedReference(sequence).AsDouble().Is(target);
}
[Theory]
@@ -233,20 +240,21 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- // stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ // stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadInt16().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsInt16().Is(target);
+ CreateUnpackedReference(sequence).AsInt16().Is(target);
}
[Theory]
@@ -274,31 +282,32 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
// bug of msgpack-cli
if (target == 255)
{
- packer.Pack((byte)255).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack((byte)255).Position.Is(sequence.Length);
}
else if (target == 50000)
{
- packer.Pack((ushort)50000).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack((ushort)50000).Position.Is(sequence.Length);
}
else
{
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack(target).Position.Is(sequence.Length);
}
- // stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ // stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadInt32().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsInt32().Is(target);
+ CreateUnpackedReference(sequence).AsInt32().Is(target);
}
[Theory]
@@ -331,35 +340,36 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
// bug of msgpack-cli
if (target == 255)
{
- packer.Pack((byte)255).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack((byte)255).Position.Is(sequence.Length);
}
else if (target == 50000)
{
- packer.Pack((ushort)50000).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack((ushort)50000).Position.Is(sequence.Length);
}
else if (target == uint.MaxValue)
{
- packer.Pack(uint.MaxValue).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack(uint.MaxValue).Position.Is(sequence.Length);
}
else
{
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
+ packer.Pack(target).Position.Is(sequence.Length);
}
- // stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ // stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadInt64().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsInt64().Is(target);
+ CreateUnpackedReference(sequence).AsInt64().Is(target);
}
[Theory]
@@ -380,19 +390,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.WriteMapHeader(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.PackMapHeader((int)target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.PackMapHeader((int)target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadMapHeader().Is((int)target);
sequenceReader.End.IsTrue();
- var ms = new MemoryStream(writer.WrittenBytes.ToArray());
+ var ms = new MemoryStream(sequence.AsReadOnlySequence.ToArray());
var unpacker = MsgPack.Unpacker.Create(ms);
long len;
unpacker.ReadMapLength(out len).IsTrue();
@@ -417,19 +428,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.WriteArrayHeader(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.PackArrayHeader((int)target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.PackArrayHeader((int)target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadArrayHeader().Is((int)target);
sequenceReader.End.IsTrue();
- var ms = new MemoryStream(writer.WrittenBytes.ToArray());
+ var ms = new MemoryStream(sequence.AsReadOnlySequence.ToArray());
var unpacker = MsgPack.Unpacker.Create(ms);
long len;
unpacker.ReadArrayLength(out len).IsTrue();
@@ -451,19 +463,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadUInt16().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsUInt16().Is(target);
+ CreateUnpackedReference(sequence).AsUInt16().Is(target);
}
[Theory]
@@ -482,19 +495,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadUInt32().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsUInt32().Is(target);
+ CreateUnpackedReference(sequence).AsUInt32().Is(target);
}
[Theory]
@@ -517,19 +531,20 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- writer.WrittenBytes.Length.Is(length);
+ sequence.Length.Is(length);
- packer.Pack(target).Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ packer.Pack(target).Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadUInt64().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsUInt64().Is(target);
+ CreateUnpackedReference(sequence).AsUInt64().Is(target);
}
@@ -563,20 +578,21 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- var returnLength = writer.WrittenBytes.Length;
+ var returnLength = sequence.Length;
var referencePacked = packer.PackString(target);
referencePacked.Position.Is(returnLength);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadString().Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsStringUtf8().Is(target);
+ CreateUnpackedReference(sequence).AsStringUtf8().Is(target);
}
[Theory]
@@ -585,21 +601,22 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- var returnLength = writer.WrittenBytes.Length;
+ var returnLength = sequence.Length;
var referencePacked = packer.PackString(target);
referencePacked.Position.Is(returnLength);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
var segment = sequenceReader.ReadStringSegment().ToArray();
Encoding.UTF8.GetString(segment).Is(target);
sequenceReader.End.IsTrue();
- CreateUnpackedReference(writer.WrittenBytes).AsStringUtf8().Is(target);
+ CreateUnpackedReference(sequence).AsStringUtf8().Is(target);
}
[Theory]
@@ -612,20 +629,21 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- var returnLength = writer.WrittenBytes.Length;
+ var returnLength = sequence.Length;
var referencePacked = packer.Pack(target);
referencePacked.Position.Is(returnLength);
- referencePacked.Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ referencePacked.Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
sequenceReader.ReadChar().Is(target);
sequenceReader.End.IsTrue();
- ((char)CreateUnpackedReference(writer.WrittenBytes).AsUInt16()).Is(target);
+ ((char)CreateUnpackedReference(sequence).AsUInt16()).Is(target);
}
@@ -669,23 +687,24 @@ namespace MessagePack.Tests
{
(var stream, var packer) = CreateReferencePacker();
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.WriteExtensionFormat(new ExtensionResult(typeCode, target));
writer.Flush();
- var returnLength = writer.WrittenBytes.Length;
+ var returnLength = sequence.Length;
var referencePacked = packer.PackExtendedTypeValue((byte)typeCode, target);
referencePacked.Position.Is(returnLength);
- referencePacked.Position.Is(writer.WrittenBytes.Length);
- stream.ToArray().SequenceEqual(writer.WrittenBytes.ToArray()).IsTrue();
+ referencePacked.Position.Is(sequence.Length);
+ stream.ToArray().SequenceEqual(sequence.AsReadOnlySequence.ToArray()).IsTrue();
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
var ext = sequenceReader.ReadExtensionFormat();
ext.TypeCode.Is(typeCode);
ext.Data.ToArray().SequenceEqual(target).IsTrue();
sequenceReader.End.IsTrue();
- var ext2 = CreateUnpackedReference(writer.WrittenBytes).AsMessagePackExtendedTypeObject();
+ var ext2 = CreateUnpackedReference(sequence).AsMessagePackExtendedTypeObject();
ext2.TypeCode.Is((byte)ext.TypeCode);
ext2.GetBody().SequenceEqual(ext.Data.ToArray()).IsTrue();
}
@@ -716,13 +735,14 @@ namespace MessagePack.Tests
[MemberData(nameof(dateTimeTestData))]
public void DateTimeTest(DateTime target, int expectedLength)
{
- var writer = new MessagePackWriter();
+ var sequence = new Sequence<byte>();
+ var writer = new MessagePackWriter(sequence);
writer.Write(target);
writer.Flush();
- var returnLength = writer.WrittenBytes.Length;
+ var returnLength = sequence.Length;
returnLength.Is(expectedLength);
- var sequenceReader = new MessagePackReader(writer.WrittenBytes);
+ var sequenceReader = new MessagePackReader(sequence.AsReadOnlySequence);
var result = sequenceReader.ReadDateTime();
sequenceReader.End.IsTrue();
@@ -736,73 +756,85 @@ namespace MessagePack.Tests
// Int32 can accepts UInt16
// Int64 can accepts UInt32
{
- var smallWriter = new MessagePackWriter();
+ var small = new Sequence<byte>();
+ var smallWriter = new MessagePackWriter(small);
smallWriter.Write(byte.MaxValue);
smallWriter.Flush();
- var smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ var smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt16().Is(byte.MaxValue);
- var targetWriter = new MessagePackWriter();
+ var target = new Sequence<byte>();
+ var targetWriter = new MessagePackWriter(target);
targetWriter.Write((short)byte.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
}
{
- var smallWriter = new MessagePackWriter();
+ var small = new Sequence<byte>();
+ var smallWriter = new MessagePackWriter(small);
smallWriter.Write(byte.MaxValue);
smallWriter.Flush();
- var smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ var smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt32().Is(byte.MaxValue);
- var targetWriter = new MessagePackWriter();
+ var target = new Sequence<byte>();
+ var targetWriter = new MessagePackWriter(target);
targetWriter.Write((int)byte.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
- smallWriter = new MessagePackWriter();
+ small.Reset();
+ smallWriter = new MessagePackWriter(small);
smallWriter.Write(ushort.MaxValue);
smallWriter.Flush();
- smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt32().Is(ushort.MaxValue);
- targetWriter = new MessagePackWriter();
+ target.Reset();
+ targetWriter = new MessagePackWriter(target);
targetWriter.Write((int)ushort.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
}
{
- var smallWriter = new MessagePackWriter();
+ var small = new Sequence<byte>();
+ var smallWriter = new MessagePackWriter(small);
smallWriter.Write(byte.MaxValue);
smallWriter.Flush();
- var smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ var smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt64().Is(byte.MaxValue);
- var targetWriter = new MessagePackWriter();
+ var target = new Sequence<byte>();
+ var targetWriter = new MessagePackWriter(target);
targetWriter.Write((long)byte.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
- smallWriter = new MessagePackWriter();
+ small.Reset();
+ smallWriter = new MessagePackWriter(small);
smallWriter.Write(ushort.MaxValue);
smallWriter.Flush();
- smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt64().Is(ushort.MaxValue);
- targetWriter = new MessagePackWriter();
+ target.Reset();
+ targetWriter = new MessagePackWriter(target);
targetWriter.Write((long)ushort.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
- smallWriter = new MessagePackWriter();
+ small.Reset();
+ smallWriter = new MessagePackWriter(small);
smallWriter.Write(uint.MaxValue);
smallWriter.Flush();
- smallReader = new MessagePackReader(smallWriter.WrittenBytes);
+ smallReader = new MessagePackReader(small.AsReadOnlySequence);
smallReader.ReadInt64().Is(uint.MaxValue);
- targetWriter = new MessagePackWriter();
+ target.Reset();
+ targetWriter = new MessagePackWriter(target);
targetWriter.Write((long)uint.MaxValue);
targetWriter.Flush();
- targetWriter.WrittenBytes.ToArray().SequenceEqual(smallWriter.WrittenBytes.ToArray()).IsTrue();
+ target.AsReadOnlySequence.ToArray().SequenceEqual(small.AsReadOnlySequence.ToArray()).IsTrue();
}
}
}