public void Test()
        {
            var binarySerializer = new BinarySerializer();
            var testDto          = new TestDto {
                Data1 = "test1", Data2 = 12
            };
            var data = binarySerializer.Serialize(testDto);

            binarySerializer.DeserializeAs <TestDto>(data).Should().BeEquivalentTo(testDto);

            var moreData = new byte[data.Length + 5];

            Array.Copy((Array)data, (int)0, (Array)moreData, (int)2, (int)data.Length);

            binarySerializer.DeserializeAs <TestDto>(moreData, 2, data.Length).Should().BeEquivalentTo(testDto);
        }
 public void SerializeCycleTest()
 {
     var serializer = new BinarySerializer();
     {
         using (var memoryStream = new PooledMemoryStream(new ArrayPool(), 128))
         {
             serializer.Serialize(Objects[0], memoryStream);
             var data = memoryStream.GetBuffer();
             var dto  = serializer.DeserializeAs <TestDto>(data, 0, (int)memoryStream.Length);
             dto.Should().BeEquivalentTo(Objects[0]);
         }
     }
 }