ImporterTests.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text;
  5. using System.Windows.Media;
  6. using System.Windows.Media.Imaging;
  7. using PixiEditor.Models.IO;
  8. using Xunit;
  9. namespace PixiEditorTests.ModelsTests.IO
  10. {
  11. public class ImporterTests
  12. {
  13. private string _testImagePath;
  14. //I am not testing ImportDocument, because it's just a wrapper for BinarySerialization which is tested.
  15. public ImporterTests()
  16. {
  17. _testImagePath = $"{Environment.CurrentDirectory}\\..\\..\\..\\ModelsTests\\IO\\TestImage.png";
  18. }
  19. [Theory]
  20. [InlineData("wubba.png")]
  21. [InlineData("lubba.pixi")]
  22. [InlineData("dub.jpeg")]
  23. [InlineData("-.JPEG")]
  24. [InlineData("dub.jpg")]
  25. public void TestThatIsSupportedFile(string file)
  26. {
  27. Assert.True(Importer.IsSupportedFile(file));
  28. }
  29. [Fact]
  30. public void TestThatImportImageImportsImage()
  31. {
  32. var color = Color.FromArgb(255, 255, 0, 0);
  33. var image = Importer.ImportImage(_testImagePath);
  34. Assert.NotNull(image);
  35. Assert.Equal(5, image.PixelWidth);
  36. Assert.Equal(5, image.PixelHeight);
  37. Assert.Equal(color, image.GetPixel(0,0)); //Top left
  38. Assert.Equal(color, image.GetPixel(4,4)); //Bottom right
  39. Assert.Equal(color, image.GetPixel(0,4)); //Bottom left
  40. Assert.Equal(color, image.GetPixel(4,0)); //Top right
  41. Assert.Equal(color, image.GetPixel(2,2)); //Middle center
  42. }
  43. [Fact]
  44. public void TestThatImportImageResizes()
  45. {
  46. var image = Importer.ImportImage(_testImagePath, 10, 10);
  47. Assert.Equal(10, image.PixelWidth);
  48. Assert.Equal(10, image.PixelHeight);
  49. }
  50. }
  51. }