Esempio n. 1
0
 public void CanReadMary()
 {
     var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);
     Assert.That(Encoding.ASCII.GetBytes("M"), Is.EqualTo(ReadBytes(XZBlock, 1)));
     Assert.That(Encoding.ASCII.GetBytes("a"), Is.EqualTo(ReadBytes(XZBlock, 1)));
     Assert.That(Encoding.ASCII.GetBytes("ry"), Is.EqualTo(ReadBytes(XZBlock, 2)));
 }
Esempio n. 2
0
        public void CanReadPoemWithStreamReader()
        {
            var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);
            var sr      = new StreamReader(XZBlock);

            Assert.Equal(sr.ReadToEnd(), Original);
        }
Esempio n. 3
0
        public void CanReadMary()
        {
            var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);

            Assert.Equal(Encoding.ASCII.GetBytes("M"), ReadBytes(XZBlock, 1));
            Assert.Equal(Encoding.ASCII.GetBytes("a"), ReadBytes(XZBlock, 1));
            Assert.Equal(Encoding.ASCII.GetBytes("ry"), ReadBytes(XZBlock, 2));
        }
Esempio n. 4
0
 public void RecordsStreamStartOnInit()
 {
     using (Stream badStream = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 }))
     {
         var block = new XZBlock(badStream, CheckType.CRC64, 8);
         Assert.That(block.StreamStartPosition, Is.EqualTo(0));
     }
 }
Esempio n. 5
0
 public void RecordsStreamStartOnInit()
 {
     using (Stream badStream = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 }))
     {
         var block = new XZBlock(badStream, CheckType.CRC64, 8);
         Assert.That(block.StreamStartPosition, Is.EqualTo(0));
     }
 }
Esempio n. 6
0
 private byte[] ReadBytes(XZBlock block, int bytesToRead)
 {
     byte[] buffer = new byte[bytesToRead];
     var read = block.Read(buffer, 0, bytesToRead);
     if (read != bytesToRead)
         throw new EndOfStreamException();
     return buffer;
 }
Esempio n. 7
0
        public void SkipsPaddingWhenPresent()
        {
            // CompressedIndexedStream's first block has 1-byte padding.
            var XZBlock = new XZBlock(CompressedIndexedStream, CheckType.CRC64, 8);
            var sr      = new StreamReader(XZBlock);

            sr.ReadToEnd();
            Assert.Equal(0L, CompressedIndexedStream.Position % 4L);
        }
Esempio n. 8
0
        public void NoopWhenNoPadding()
        {
            // CompressedStream's only block has no padding.
            var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);
            var sr      = new StreamReader(XZBlock);

            sr.ReadToEnd();
            Assert.Equal(0L, CompressedStream.Position % 4L);
        }
Esempio n. 9
0
 public void OnFindIndexBlockThrow()
 {
     var bytes = new byte[] { 0 };
     using (Stream indexBlockStream = new MemoryStream(bytes))
     {
         var XZBlock = new XZBlock(indexBlockStream, CheckType.CRC64, 8);
         Assert.Throws<XZIndexMarkerReachedException>(() => { ReadBytes(XZBlock, 1); });
     }
 }
Esempio n. 10
0
        public void OnFindIndexBlockThrow()
        {
            var bytes = new byte[] { 0 };

            using (Stream indexBlockStream = new MemoryStream(bytes))
            {
                var XZBlock = new XZBlock(indexBlockStream, CheckType.CRC64, 8);
                Assert.Throws <XZIndexMarkerReachedException>(() => { ReadBytes(XZBlock, 1); });
            }
        }
Esempio n. 11
0
        private byte[] ReadBytes(XZBlock block, int bytesToRead)
        {
            byte[] buffer = new byte[bytesToRead];
            var    read   = block.Read(buffer, 0, bytesToRead);

            if (read != bytesToRead)
            {
                throw new EndOfStreamException();
            }
            return(buffer);
        }
Esempio n. 12
0
 public void CrcIncorrectThrows()
 {
     var bytes = Compressed.Clone() as byte[];
     bytes[20]++;
     using (Stream badCrcStream = new MemoryStream(bytes))
     {
         Rewind(badCrcStream);
         var XZBlock = new XZBlock(badCrcStream, CheckType.CRC64, 8);
         var ex = Assert.Throws<InvalidDataException>(() => { ReadBytes(XZBlock, 1); });
         Assert.That(ex.Message, Is.EqualTo("Block header corrupt"));
     }
 }
Esempio n. 13
0
        public void CrcIncorrectThrows()
        {
            var bytes = Compressed.Clone() as byte[];

            bytes[20]++;
            using (Stream badCrcStream = new MemoryStream(bytes))
            {
                Rewind(badCrcStream);
                var XZBlock = new XZBlock(badCrcStream, CheckType.CRC64, 8);
                var ex      = Assert.Throws <InvalidDataException>(() => { ReadBytes(XZBlock, 1); });
                Assert.Equal("Block header corrupt", ex.Message);
            }
        }
Esempio n. 14
0
        public void CanReadM()
        {
            var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);

            Assert.That(Encoding.ASCII.GetBytes("M"), Is.EqualTo(ReadBytes(XZBlock, 1)));
        }
Esempio n. 15
0
 public void CanReadPoemWithStreamReader()
 {
     var XZBlock = new XZBlock(CompressedStream, CheckType.CRC64, 8);
     var sr = new StreamReader(XZBlock);
     Assert.That(sr.ReadToEnd(), Is.EqualTo(Original));
 }