Radarr/src/NzbDrone.Common/EnsureThat/EnsureDoubleExtensions.cs

70 lines
2.3 KiB
C#
Raw Normal View History

using System.Diagnostics;
using NzbDrone.Common.EnsureThat.Resources;
using NzbDrone.Common.Extensions;
namespace NzbDrone.Common.EnsureThat
{
public static class EnsureDoubleExtensions
{
[DebuggerStepThrough]
public static Param<double> IsLt(this Param<double> param, double limit)
{
if (param.Value >= limit)
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotLt.Inject(param.Value, limit));
2019-12-22 22:08:53 +00:00
}
return param;
}
[DebuggerStepThrough]
public static Param<double> IsLte(this Param<double> param, double limit)
{
if (!(param.Value <= limit))
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotLte.Inject(param.Value, limit));
2019-12-22 22:08:53 +00:00
}
return param;
}
[DebuggerStepThrough]
public static Param<double> IsGt(this Param<double> param, double limit)
{
if (param.Value <= limit)
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotGt.Inject(param.Value, limit));
2019-12-22 22:08:53 +00:00
}
return param;
}
[DebuggerStepThrough]
public static Param<double> IsGte(this Param<double> param, double limit)
{
if (!(param.Value >= limit))
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotGte.Inject(param.Value, limit));
2019-12-22 22:08:53 +00:00
}
return param;
}
[DebuggerStepThrough]
public static Param<double> IsInRange(this Param<double> param, double min, double max)
{
if (param.Value < min)
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotInRange_ToLow.Inject(param.Value, min));
2019-12-22 22:08:53 +00:00
}
if (param.Value > max)
2019-12-22 22:08:53 +00:00
{
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotInRange_ToHigh.Inject(param.Value, max));
2019-12-22 22:08:53 +00:00
}
return param;
}
}
2019-12-22 21:24:10 +00:00
}