2013-02-17 22:19:38 +03:00
|
|
|
using System.Diagnostics;
|
|
|
|
using NzbDrone.Common.EnsureThat.Resources;
|
|
|
|
|
|
|
|
namespace NzbDrone.Common.EnsureThat
|
|
|
|
{
|
|
|
|
public static class EnsureIntExtensions
|
|
|
|
{
|
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsLessThan(this Param<int> param, int limit)
|
|
|
|
{
|
|
|
|
if (param.Value >= limit)
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotLt.Inject(param.Value, limit));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
|
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsLessThanOrEqualTo(this Param<int> param, int limit)
|
|
|
|
{
|
|
|
|
if (!(param.Value <= limit))
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotLte.Inject(param.Value, limit));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
|
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsGreaterThan(this Param<int> param, int limit)
|
|
|
|
{
|
|
|
|
if (param.Value <= limit)
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotGt.Inject(param.Value, limit));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
|
2013-02-20 05:05:15 +03:00
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsGreaterThanZero(this Param<int> param)
|
|
|
|
{
|
|
|
|
if (param.Value <= 0)
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotGt.Inject(param.Value, 0));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
|
2013-02-17 22:19:38 +03:00
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsGreaterOrEqualTo(this Param<int> param, int limit)
|
|
|
|
{
|
|
|
|
if (!(param.Value >= limit))
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotGte.Inject(param.Value, limit));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
|
|
|
|
[DebuggerStepThrough]
|
|
|
|
public static Param<int> IsInRange(this Param<int> param, int min, int max)
|
|
|
|
{
|
|
|
|
if (param.Value < min)
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotInRange_ToLow.Inject(param.Value, min));
|
|
|
|
|
|
|
|
if (param.Value > max)
|
|
|
|
throw ExceptionFactory.CreateForParamValidation(param.Name, ExceptionMessages.EnsureExtensions_IsNotInRange_ToHigh.Inject(param.Value, max));
|
|
|
|
|
|
|
|
return param;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|