aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Model.Tests/Drawing/ImageFormatExtensionsTests.cs
blob: a5bdb42d897bc61011d339a523397f751fac185d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.ComponentModel;
using MediaBrowser.Model.Drawing;
using Xunit;

namespace Jellyfin.Model.Drawing;

public static class ImageFormatExtensionsTests
{
    public static TheoryData<ImageFormat> GetAllImageFormats()
    {
        var theoryTypes = new TheoryData<ImageFormat>();
        foreach (var x in Enum.GetValues<ImageFormat>())
        {
            theoryTypes.Add(x);
        }

        return theoryTypes;
    }

    [Theory]
    [MemberData(nameof(GetAllImageFormats))]
    public static void GetMimeType_Valid_Valid(ImageFormat format)
        => Assert.Null(Record.Exception(() => format.GetMimeType()));

    [Theory]
    [InlineData((ImageFormat)int.MinValue)]
    [InlineData((ImageFormat)int.MaxValue)]
    [InlineData((ImageFormat)(-1))]
    [InlineData((ImageFormat)5)]
    public static void GetMimeType_Valid_ThrowsInvalidEnumArgumentException(ImageFormat format)
        => Assert.Throws<InvalidEnumArgumentException>(() => format.GetMimeType());
}