SlicedStreamTests.cs 870 B

1234567891011121314151617181920212223242526272829
  1. using System.IO;
  2. using Avalonia.Platform.Internal;
  3. using Xunit;
  4. namespace Avalonia.Base.UnitTests;
  5. public class SlicedStreamTests
  6. {
  7. [Theory]
  8. [InlineData(2, SeekOrigin.Begin, 22, 2, 9)]
  9. [InlineData(2, SeekOrigin.Current, 22, 17, 24)]
  10. [InlineData(-2, SeekOrigin.End, 22, 40, 47)]
  11. public void Seek_Works(
  12. long offset,
  13. SeekOrigin origin,
  14. long startingUnderlyingPosition,
  15. long expectedPosition,
  16. long expectedUnderlyingPosition)
  17. {
  18. var memoryStream = new MemoryStream(new byte[1024]);
  19. var slicedStream = new SlicedStream(memoryStream, 7, 42);
  20. memoryStream.Position = startingUnderlyingPosition;
  21. slicedStream.Seek(offset, origin);
  22. Assert.Equal(expectedPosition, slicedStream.Position);
  23. Assert.Equal(expectedUnderlyingPosition, memoryStream.Position);
  24. }
  25. }