Example #1
0
        public async Task SliceTests()
        {
            var data = GetData(1024 * 1024 * 5);

            using (var slicer = new BlobSlicer(data, 1024 * 1024))
            {
                var slices = new List<BlobSlice>();

                while (!slicer.IsEof)
                {
                    slices.Add(await slicer.ReadAsync());
                }

                long offset = 0;

                Assert.Equal(5, slices.Count);

                foreach (var slice in slices)
                {
                    Assert.Equal(1024 * 1024, slice.Length);
                    Assert.Equal(offset, slice.Offset);

                    offset += slice.Length;
                }

                Assert.Equal(slicer.Position, data.Length);

            }
        }
Example #2
0
        public async Task BigSlice()
        {
            var data = GetData((1024 * 1024 * 50) + 1019);

            using (var slicer = new BlobSlicer(data, 1024 * 1024 * 5))
            {
                var slices = new List<BlobSlice>();

                while (!slicer.IsEof)
                {
                    slices.Add(await slicer.ReadAsync());
                }

                Assert.Equal(slicer.Position, data.Length);
                Assert.Equal(11, slices.Count);
                Assert.Equal(1019, slices[10].Stream.Length);
            }
        }