Пример #1
0
        public void ShouldGenerateWhenOneChunk()
        {
            //  Arrange

            var file = new byte[16 + 5]
            {
                /* compressedSize */ 5, 0, 0, 0, /*  source.offset */ 0, 0, 0, 0, 0, 0, 0, 0, /* source.size */ 10, 0, 0, 0,
                1, 2, 3, 4, 5,
            };
            var reader = new InmemoryReader(file);

            var generator = new DecompressionInfoGenerator(reader);

            // Act

            var chunks = new List <ChunkDecompressionInfo>();

            while (generator.TryDequeue(out var info))
            {
                chunks.Add(info);
            }

            // Assert

            Assert.Collection(chunks,
                              info =>
            {
                Assert.Equal(16L, info.source.offset);
                Assert.Equal(5, info.source.size);
                Assert.Equal(0L, info.target.offset);
                Assert.Equal(10, info.target.size);
            });
        }
Пример #2
0
        public void ShouldNotGenerateWhenEmpty()
        {
            //  Arrange

            var file   = new byte[0];
            var reader = new InmemoryReader(file);

            var generator = new DecompressionInfoGenerator(reader);

            // Act

            var chunks = new List <ChunkDecompressionInfo>();

            while (generator.TryDequeue(out var info))
            {
                chunks.Add(info);
            }

            // Assert

            Assert.Empty(chunks);
        }