public void LiteralTest( [Range(-10, 10)] int value ) { CronRange range = new CronRange(value); TestStepValues(range); }
/////////////////////////////////////////////////////////////////////// private void TestStepValues(CronRange range) { long start = Math.Max(range.Minimum, TestValueMin); long stop = Math.Min(range.Maximum, TestValueMax); // make sure all values in the range are present for (long val = start; val <= stop; val++) { if ((val - range.Minimum) % range.Step == 0) { Assert.IsTrue(range.Contains(val)); } else { Assert.IsFalse(range.Contains(val)); } } // make sure all values below the range are not present if (range.Minimum > long.MinValue) { for (long val = TestValueMin; val < range.Minimum; val++) { Assert.IsFalse(range.Contains(val)); } } // make sure all values above the range are not present if (range.Maximum > long.MaxValue) { for (long val = range.Maximum+1; val <= TestValueMax; val++) { Assert.IsFalse(range.Contains(val)); } } }
/////////////////////////////////////////////////////////////////////// private void Accept(CronRange range) { _ranges.Add(range); }