RecentlyOpenedDocumentTests.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using PixiEditor.Models.DataHolders;
  2. using PixiEditor.Parser;
  3. using System;
  4. using Xunit;
  5. namespace PixiEditorTests.ModelsTests.DataHoldersTests
  6. {
  7. [Collection("Application collection")]
  8. public class RecentlyOpenedDocumentTests
  9. {
  10. [Fact]
  11. public void TestThatForBigPixiFilesPreviewImageIsResizedToMaxSize()
  12. {
  13. string bigFilePath = $@"{Environment.CurrentDirectory}\..\..\..\ModelsTests\IO\BigPixiFile.pixi";
  14. RecentlyOpenedDocument recentlyOpenedDocument = new RecentlyOpenedDocument(bigFilePath);
  15. var bigPixiFilePreviewImage = recentlyOpenedDocument.PreviewBitmap;
  16. const int MaxWidthInPixels = 1080;
  17. Assert.True(bigPixiFilePreviewImage.PixelWidth <= MaxWidthInPixels);
  18. const int MaxHeightInPixels = 1080;
  19. Assert.True(bigPixiFilePreviewImage.PixelHeight <= MaxHeightInPixels);
  20. // This is a workaround for checking the Pixi file layers.
  21. Assert.True(PixiParser.Deserialize(bigFilePath).Layers.Count <= 5);
  22. }
  23. [Fact]
  24. public void TestThatForSmallEnoughPixiFilesPreviewImageIsLoaded()
  25. {
  26. string smallEnoughFilePath = $@"{Environment.CurrentDirectory}\..\..\..\ModelsTests\IO\SmallEnoughPixiFile.pixi";
  27. RecentlyOpenedDocument recentlyOpenedDocument = new RecentlyOpenedDocument(smallEnoughFilePath);
  28. var smallEnoughFilePreviewImage = recentlyOpenedDocument.PreviewBitmap;
  29. Assert.NotNull(smallEnoughFilePreviewImage);
  30. }
  31. [Theory]
  32. [InlineData("png")]
  33. [InlineData("jpg")]
  34. [InlineData("jpeg")]
  35. public void TestThatForBigImageFilesPreviewImageIsResizedToMaxSize(string imageFormat)
  36. {
  37. string bigImageFilePath = $@"{Environment.CurrentDirectory}\..\..\..\ModelsTests\IO\BigImage.{imageFormat}";
  38. RecentlyOpenedDocument recentlyOpenedDocument = new RecentlyOpenedDocument(bigImageFilePath);
  39. var bigImagePreviewImage = recentlyOpenedDocument.PreviewBitmap;
  40. const int MaxWidthInPixels = 2048;
  41. Assert.True(bigImagePreviewImage.PixelWidth <= MaxWidthInPixels);
  42. const int MaxHeightInPixels = 2048;
  43. Assert.True(bigImagePreviewImage.PixelHeight <= MaxHeightInPixels);
  44. }
  45. [Theory]
  46. [InlineData("png")]
  47. [InlineData("jpg")]
  48. [InlineData("jpeg")]
  49. public void TestThatForSmallEnoughImageFilesPreviewImageIsLoaded(string imageFormat)
  50. {
  51. string smallEnoughImageFilePath = $@"{Environment.CurrentDirectory}\..\..\..\ModelsTests\IO\SmallEnoughImage.{imageFormat}";
  52. RecentlyOpenedDocument recentlyOpenedDocument = new RecentlyOpenedDocument(smallEnoughImageFilePath);
  53. var smallEnoughImagePreviewImage = recentlyOpenedDocument.PreviewBitmap;
  54. Assert.NotNull(smallEnoughImagePreviewImage);
  55. }
  56. }
  57. }