1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-22 22:15:17 -04:00

New: Minimum Upgrade Score for Custom Formats

(cherry picked from commit 8b20a9449c1ae5ffd1e8d12f1ca771727b8c52a5)
This commit is contained in:
somniumV
2024-09-15 19:20:03 +02:00
committed by Bogdan
parent 5757fa797f
commit bb43d0c796
13 changed files with 155 additions and 5 deletions
@@ -6,6 +6,7 @@ using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.DecisionEngine;
using NzbDrone.Core.DecisionEngine.Specifications;
using NzbDrone.Core.Parser;
using NzbDrone.Core.Profiles;
using NzbDrone.Core.Profiles.Qualities;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Test.CustomFormats;
@@ -160,5 +161,95 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
new List<CustomFormat>())
.Should().Be(UpgradeableRejectReason.QualityCutoff);
}
[Test]
public void should_return_false_if_minimum_custom_score_is_not_met()
{
var customFormatOne = new CustomFormat
{
Id = 1,
Name = "One"
};
var customFormatTwo = new CustomFormat
{
Id = 2,
Name = "Two"
};
var profile = new QualityProfile
{
Items = Qualities.QualityFixture.GetDefaultQualities(),
UpgradeAllowed = true,
MinUpgradeFormatScore = 11,
CutoffFormatScore = 100,
FormatItems = new List<ProfileFormatItem>
{
new ProfileFormatItem
{
Format = customFormatOne,
Score = 10
},
new ProfileFormatItem
{
Format = customFormatTwo,
Score = 20
}
}
};
Subject.IsUpgradable(
profile,
new QualityModel(Quality.DVD),
new List<CustomFormat> { customFormatOne },
new QualityModel(Quality.DVD),
new List<CustomFormat> { customFormatTwo })
.Should().Be(UpgradeableRejectReason.MinCustomFormatScore);
}
[Test]
public void should_return_true_if_minimum_custom_score_is_met()
{
var customFormatOne = new CustomFormat
{
Id = 1,
Name = "One"
};
var customFormatTwo = new CustomFormat
{
Id = 2,
Name = "Two"
};
var profile = new QualityProfile
{
Items = Qualities.QualityFixture.GetDefaultQualities(),
UpgradeAllowed = true,
MinUpgradeFormatScore = 10,
CutoffFormatScore = 100,
FormatItems = new List<ProfileFormatItem>
{
new ProfileFormatItem
{
Format = customFormatOne,
Score = 10
},
new ProfileFormatItem
{
Format = customFormatTwo,
Score = 20
}
}
};
Subject.IsUpgradable(
profile,
new QualityModel(Quality.DVD),
new List<CustomFormat> { customFormatOne },
new QualityModel(Quality.DVD),
new List<CustomFormat> { customFormatTwo })
.Should().Be(UpgradeableRejectReason.None);
}
}
}