TestCases.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using WarcViewerBlazorWinForm.Backend.IO;
  7. using WarcViewerBlazorWinForm.Backend.IO.Archiving;
  8. using WarcViewerBlazorWinForm.Backend.Warc;
  9. namespace WarcViewerBlazorWinForm.Tests
  10. {
  11. internal static class TestCases
  12. {
  13. public static async Task Run()
  14. {
  15. var files = Directory.GetFiles("WARC-Compressed");
  16. var fileReader = new FileReader();
  17. await fileReader.LoadFileAsync(files.First());
  18. {
  19. await using var stream = fileReader.OpenEntryRead(0);
  20. var ms = new MemoryStream();
  21. await stream.CopyToAsync(ms);
  22. var content = ms.ToArray();
  23. }
  24. int firstBlockSize;
  25. {
  26. await using var stream = fileReader.OpenEntryRead(0);
  27. var block = WarcParser.ReadEntryBlock(stream);
  28. firstBlockSize = block.Length;
  29. var text = Encoding.ASCII.GetString(block);
  30. }
  31. {
  32. await using var stream = fileReader.OpenEntryRead(0);
  33. stream.SeekForwardStupid(firstBlockSize);
  34. var secondBlock = WarcParser.ReadEntryBlock(stream);
  35. var text2 = Encoding.ASCII.GetString(secondBlock);
  36. var thirdBlock = WarcParser.ReadEntryBlock(stream);
  37. var text3 = Encoding.ASCII.GetString(thirdBlock);
  38. }
  39. {
  40. var len = fileReader.GetEntryLength(0);
  41. }
  42. fileReader.Dispose();
  43. }
  44. }
  45. }