private void AssertParse(
            string text,
            long?expectedNumRepeats,
            string expectedDate,
            TimePeriod expectedTimePeriod)
        {
            var spec = TimerScheduleISO8601Parser.Parse(text);

            Assert.AreEqual(expectedNumRepeats, spec.OptionalRepeatCount);
            if (expectedTimePeriod == null)
            {
                Assert.IsNull(spec.OptionalTimePeriod);
            }
            else
            {
                Assert.AreEqual(
                    expectedTimePeriod,
                    spec.OptionalTimePeriod,
                    "expected '" + expectedTimePeriod.ToStringISO8601() + "' got '" + spec.OptionalTimePeriod.ToStringISO8601() + "'");
            }

            if (expectedDate == null)
            {
                Assert.IsNull(spec.OptionalDate);
            }
            else
            {
                Assert.AreEqual(DateTimeParsingFunctions.ParseDefaultMSecWZone(expectedDate), spec.OptionalDate.UtcMillis);
            }
        }
 private void TryInvalid(
     string iso8601,
     string message)
 {
     try
     {
         TimerScheduleISO8601Parser.Parse(iso8601);
         Assert.Fail();
     }
     catch (ScheduleParameterException ex)
     {
         Assert.AreEqual(message, ex.Message);
     }
 }
        private void AssertTimeParse(
            string date,
            int year,
            int month,
            int day,
            int hour,
            int minute,
            int second,
            int millis,
            string zone)
        {
            var spec = TimerScheduleISO8601Parser.Parse(date);

            SupportDateTimeUtil.CompareDate(spec.OptionalDate, year, month, day, hour, minute, second, millis);
            Assert.AreEqual(zone, spec.OptionalDate.TimeZone.DisplayName);
        }
Exemplo n.º 4
0
        protected internal static TimerScheduleSpec Compute(
            ExprEvaluator parameter,
            EventBean[] events,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            object param = PatternExpressionUtil.EvaluateChecked(
                NAME_OBSERVER,
                parameter,
                events,
                exprEvaluatorContext);
            string iso = (string) param;
            if (iso == null) {
                throw new ScheduleParameterException("Received null parameter value");
            }

            return TimerScheduleISO8601Parser.Parse(iso);
        }