Example #1
0
 public ReadAsync()
 {
     _directory = TestDirectory.Create();
     _path      = Path.Combine(_directory, "file.dat");
     _content   = Enumerable.Range(0, 100).Select(x => (byte)x).ToArray();
     File.WriteAllBytes(_path, _content);
     _target       = new FileRangeReader(_path);
     _outputBuffer = new byte[_content.Length];
 }
Example #2
0
        public async Task WithSelfUsingFileRangeReader(string path)
        {
            // Arrange
            using (var memoryStream = TestUtility.BufferTestData(path))
            {
                var fullPath           = Path.Combine(TestUtility.TestDataDirectory, path);
                var length             = new FileInfo(fullPath).Length;
                var fileRangeReader    = new FileRangeReader(fullPath);
                var bufferSizeProvider = new ZipBufferSizeProvider(firstBufferSize: 1, secondBufferSize: 1, exponent: 2);
                using (var bufferedRangeStream = new BufferedRangeStream(fileRangeReader, length, bufferSizeProvider))
                {
                    // Act
                    var a = await TestUtility.ReadWithMiniZipAsync(memoryStream);

                    var b = await TestUtility.ReadWithMiniZipAsync(bufferedRangeStream);

                    // Assert
                    TestUtility.VerifyJsonEquals(a.Data, b.Data);
                    Assert.Equal(a.Success, b.Success);
                    Assert.Equal(a.Exception?.Message, b.Exception?.Message);
                    Assert.Equal(a.Exception?.GetType(), b.Exception?.GetType());
                }
            }
        }