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); }
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); }