public void ProjectFilterWithUpperAndLowerBoundaryReversedThrowsException() { var projector = this.BuildProjector(); var range = new Range { UpperBoundary = 9, LowerBoundary = 99 }; Assert.Throws <ArgumentException>(() => projector.Project(range)); }
public void ProjectFilterWithUpperAndLowerBoundaryReturnsIncludeWithBoundary() { var projector = this.BuildProjector(); var range = new Range { UpperBoundary = 100, LowerBoundary = 99 }; var result = projector.Project(range); Assert.AreEqual(RuleFilterType.Include, result.Type); Assert.AreEqual(99, result.Min); Assert.AreEqual(100, result.Max); }
/// <summary> /// The project. /// </summary> /// <param name="filter"> /// The filter. /// </param> /// <returns> /// The <see cref="DecimalRangeRuleFilter"/>. /// </returns> public DecimalRangeRuleFilter Project(Range filter) { if (filter == null) { return(DecimalRangeRuleFilter.None()); } if (filter.LowerBoundary == null && filter.UpperBoundary == null) { return(DecimalRangeRuleFilter.None()); } if (filter.LowerBoundary > filter.UpperBoundary) { throw new ArgumentException(nameof(filter)); } return(new DecimalRangeRuleFilter { Min = filter.LowerBoundary, Max = filter.UpperBoundary, Type = RuleFilterType.Include }); }