public void PreferredForApi_LowestWithinThreshold_EqualsSameValue()
    {
        var data = new RadarrQualityData {
            Preferred = 0
        };

        data.PreferredForApi.Should().Be(0);
    }
    public void AnnotatedPreferred_WithinThreshold_EqualsSameStringValue()
    {
        const decimal testVal = RadarrQualityData.PreferredUnlimitedThreshold - 1;
        var           data    = new RadarrQualityData {
            Preferred = testVal
        };

        data.AnnotatedPreferred.Should().Be($"{testVal}");
    }
    public void AnnotatedPreferred_OutsideThreshold_EqualsSameValueWithUnlimited()
    {
        const decimal testVal = RadarrQualityData.PreferredUnlimitedThreshold;
        var           data    = new RadarrQualityData {
            Preferred = testVal
        };

        data.AnnotatedPreferred.Should().Be($"{testVal} (Unlimited)");
    }
    public void InterpolatedPreferred_VariousValues_ExpectedResults(decimal max, decimal ratio,
                                                                    decimal expectedResult)
    {
        var data = new RadarrQualityData {
            Min = 0, Max = max
        };

        data.InterpolatedPreferred(ratio).Should().Be(expectedResult);
    }
    public void PreferredForApi_HighestWithinThreshold_EqualsSameValue()
    {
        const decimal testVal = RadarrQualityData.PreferredUnlimitedThreshold - 0.1m;
        var           data    = new RadarrQualityData {
            Preferred = testVal
        };

        data.PreferredForApi.Should().Be(testVal).And.Be(data.Preferred);
    }
    public void PreferredForApi_AboveThreshold_EqualsNull()
    {
        const decimal testVal = RadarrQualityData.PreferredUnlimitedThreshold + 1;
        var           data    = new RadarrQualityData {
            Preferred = testVal
        };

        data.PreferredForApi.Should().Be(null);
    }
    public void Preferred_AboveThreshold_EqualsSameValue()
    {
        const decimal testVal = RadarrQualityData.PreferredUnlimitedThreshold + 1;
        var           data    = new RadarrQualityData {
            Preferred = testVal
        };

        data.Preferred.Should().Be(testVal);
    }
    public void PreferredDifferent_WithVariousValues_ReturnsExpectedResult(decimal guideValue, decimal?radarrValue,
                                                                           bool isDifferent)
    {
        var data = new RadarrQualityData {
            Preferred = guideValue
        };

        data.IsPreferredDifferent(radarrValue)
        .Should().Be(isDifferent);
    }