ImageFormatExtensionsTests.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.ComponentModel;
  3. using MediaBrowser.Model.Drawing;
  4. using Xunit;
  5. namespace Jellyfin.Model.Drawing;
  6. public static class ImageFormatExtensionsTests
  7. {
  8. public static TheoryData<ImageFormat> GetAllImageFormats()
  9. {
  10. var theoryTypes = new TheoryData<ImageFormat>();
  11. foreach (var x in Enum.GetValues<ImageFormat>())
  12. {
  13. theoryTypes.Add(x);
  14. }
  15. return theoryTypes;
  16. }
  17. [Theory]
  18. [MemberData(nameof(GetAllImageFormats))]
  19. public static void GetMimeType_Valid_Valid(ImageFormat format)
  20. => Assert.Null(Record.Exception(() => format.GetMimeType()));
  21. [Theory]
  22. [InlineData((ImageFormat)int.MinValue)]
  23. [InlineData((ImageFormat)int.MaxValue)]
  24. [InlineData((ImageFormat)(-1))]
  25. [InlineData((ImageFormat)6)]
  26. public static void GetMimeType_Valid_ThrowsInvalidEnumArgumentException(ImageFormat format)
  27. => Assert.Throws<InvalidEnumArgumentException>(() => format.GetMimeType());
  28. [Theory]
  29. [MemberData(nameof(GetAllImageFormats))]
  30. public static void GetExtension_Valid_Valid(ImageFormat format)
  31. => Assert.Null(Record.Exception(() => format.GetExtension()));
  32. [Theory]
  33. [InlineData((ImageFormat)int.MinValue)]
  34. [InlineData((ImageFormat)int.MaxValue)]
  35. [InlineData((ImageFormat)(-1))]
  36. [InlineData((ImageFormat)6)]
  37. public static void GetExtension_Valid_ThrowsInvalidEnumArgumentException(ImageFormat format)
  38. => Assert.Throws<InvalidEnumArgumentException>(() => format.GetExtension());
  39. }