示例#1
0
        public void TestReadingDummyCompressedBlock()
        {
            var block = new ModuleDataBlockStruct();

            using (var serializer = new BinarySerializer(new BinaryReader(new MemoryStream(DummyBlockBytes))))
            {
                block.Serialize(serializer);
                Assert.AreEqual(DummyBlockBytes.Length, serializer.BaseStream.Position);
            }

            Assert.AreEqual(1U, block.Checksum);
            Assert.AreEqual(2U, block.CompressedOffset);
            Assert.AreEqual(3U, block.CompressedSize);
            Assert.AreEqual(4U, block.UncompressedOffset);
            Assert.AreEqual(5U, block.UncompressedSize);
            Assert.AreEqual(6, block.Compression);
        }
示例#2
0
        public void TestWritingDummyCompressedBlock()
        {
            var block = new ModuleDataBlockStruct
            {
                Checksum           = 1,
                CompressedOffset   = 2,
                CompressedSize     = 3,
                UncompressedOffset = 4,
                UncompressedSize   = 5,
                Compression        = 6,
            };

            byte[] writtenBytes;
            using (var stream = new MemoryStream())
            {
                using (var serializer = new BinarySerializer(new BinaryWriter(stream)))
                {
                    block.Serialize(serializer);
                    writtenBytes = new byte[stream.Length];
                    Buffer.BlockCopy(stream.GetBuffer(), 0, writtenBytes, 0, writtenBytes.Length);
                }
            }
            CollectionAssert.AreEqual(DummyBlockBytes, writtenBytes);
        }