Radarr/src/NzbDrone.Core.Test/Qualities/QualityFixture.cs

108 lines
3.9 KiB
C#
Raw Normal View History

using System;
using System.Linq;
using System.Collections.Generic;
using FluentAssertions;
2012-10-14 00:36:16 +00:00
using NUnit.Framework;
using NzbDrone.Core.Profiles;
2013-02-27 03:19:22 +00:00
using NzbDrone.Core.Qualities;
2012-10-14 00:36:16 +00:00
using NzbDrone.Core.Test.Framework;
2013-02-27 03:19:22 +00:00
namespace NzbDrone.Core.Test.Qualities
2012-10-14 00:36:16 +00:00
{
[TestFixture]
2013-02-27 03:19:22 +00:00
public class QualityFixture : CoreTest
2012-10-14 00:36:16 +00:00
{
public static object[] FromIntCases =
{
new object[] {0, Quality.Unknown},
2013-02-27 03:19:22 +00:00
new object[] {1, Quality.SDTV},
new object[] {2, Quality.DVD},
new object[] {3, Quality.WEBDL1080p},
2013-02-27 03:19:22 +00:00
new object[] {4, Quality.HDTV720p},
new object[] {5, Quality.WEBDL720p},
new object[] {6, Quality.Bluray720p},
new object[] {7, Quality.Bluray1080p},
new object[] {8, Quality.WEBDL480p},
new object[] {9, Quality.HDTV1080p},
//new object[] {10, Quality.RAWHD},
new object[] {16, Quality.HDTV2160p},
new object[] {18, Quality.WEBDL2160p},
new object[] {19, Quality.Bluray2160p},
2012-10-14 00:36:16 +00:00
};
public static object[] ToIntCases =
{
new object[] {Quality.Unknown, 0},
2013-02-27 03:19:22 +00:00
new object[] {Quality.SDTV, 1},
new object[] {Quality.DVD, 2},
new object[] {Quality.WEBDL1080p, 3},
2013-02-27 03:19:22 +00:00
new object[] {Quality.HDTV720p, 4},
new object[] {Quality.WEBDL720p, 5},
new object[] {Quality.Bluray720p, 6},
new object[] {Quality.Bluray1080p, 7},
new object[] {Quality.WEBDL480p, 8},
new object[] {Quality.HDTV1080p, 9},
//new object[] {Quality.RAWHD, 10},
new object[] {Quality.HDTV2160p, 16},
new object[] {Quality.WEBDL2160p, 18},
new object[] {Quality.Bluray2160p, 19},
2012-10-14 00:36:16 +00:00
};
[Test, TestCaseSource("FromIntCases")]
2013-02-27 03:19:22 +00:00
public void should_be_able_to_convert_int_to_qualityTypes(int source, Quality expected)
2012-10-14 00:36:16 +00:00
{
2013-02-27 03:19:22 +00:00
var quality = (Quality)source;
2012-10-14 00:36:16 +00:00
quality.Should().Be(expected);
}
[Test, TestCaseSource("ToIntCases")]
2013-02-27 03:19:22 +00:00
public void should_be_able_to_convert_qualityTypes_to_int(Quality source, int expected)
2012-10-14 00:36:16 +00:00
{
var i = (int)source;
i.Should().Be(expected);
}
public static List<ProfileQualityItem> GetDefaultQualities(params Quality[] allowed)
2012-10-14 00:36:16 +00:00
{
var qualities = new List<Quality>
{
Quality.CAM,
Quality.TELECINE,
Quality.DVDSCR,
2017-01-29 20:47:08 +00:00
Quality.REGIONAL,
Quality.SDTV,
Quality.DVD,
Quality.DVDR,
Quality.HDTV720p,
Quality.HDTV1080p,
Quality.HDTV2160p,
Quality.WEBDL480p,
Quality.WEBDL720p,
Quality.WEBDL1080p,
Quality.WEBDL2160p,
Quality.Bluray480p,
Quality.Bluray576p,
Quality.Bluray720p,
Quality.Bluray1080p,
Quality.Bluray2160p,
2017-01-29 20:47:08 +00:00
Quality.BRDISK,
Quality.RAWHD
};
if (allowed.Length == 0)
allowed = qualities.ToArray();
var items = qualities
.Except(allowed)
.Concat(allowed)
.Select(v => new ProfileQualityItem
{
Quality = v,
Allowed = allowed.Contains(v)
}).ToList();
return items;
2012-10-14 00:36:16 +00:00
}
}
}