public void CannotSeekBeforeBegin() { // Given var size = int.MaxValue * 2L; var stream = new FileReaderJsInterop.InteropFileStream(0, new Tewr.Blazor.FileReader.FileInfo { Size = size }, null); // When / Then Assert.Throws <IOException>(() => stream.Seek(-1, SeekOrigin.Begin)); }
public void CannotSeekUsingUnknownOrigin() { // Given var size = int.MaxValue * 2L; var stream = new FileReaderJsInterop.InteropFileStream(0, new Tewr.Blazor.FileReader.FileInfo { Size = size }, null); // When / then Assert.Throws <ArgumentException>(() => stream.Seek(2, (SeekOrigin)55)); }
public void CanSeekInLargeFilesFromBegin() { // Given var size = int.MaxValue * 2L; var stream = new FileReaderJsInterop.InteropFileStream(0, new Tewr.Blazor.FileReader.FileInfo { Size = size }, null); // When var pos = stream.Seek(size - 1, SeekOrigin.Begin); // Then Assert.Equal(pos, stream.Position); Assert.Equal(stream.Position, size - 1); }
public void CanSeekInLargeFilesFromEndAfterEndOFFile() { // Given var size = int.MaxValue * 2L; var stream = new FileReaderJsInterop.InteropFileStream(0, new Tewr.Blazor.FileReader.FileInfo { Size = size }, null); // When var pos = stream.Seek(1, SeekOrigin.End); // Then Assert.Equal(pos, stream.Position); Assert.Equal(stream.Length + 1, stream.Position); }
public void CanSeekInLargeFilesFromCurrentWithPosition() { // Given var size = int.MaxValue * 2L; var stream = new FileReaderJsInterop.InteropFileStream(0, new Tewr.Blazor.FileReader.FileInfo { Size = size }, null); // When stream.Position = 5; var pos = stream.Seek(1, SeekOrigin.Current); // Then Assert.AreEqual(pos, stream.Position); Assert.AreEqual(stream.Position, 5 + 1); }