public void CreatingScheduledJobSucceeds() { // Arrange var job = new ScheduledJob() { Crontab = "* * * * *" }; // Act var sut = new ScheduledJobScheduler(job); // Assert Assert.IsTrue(sut.IsValid()); }
public void GetNextScheduleForFiveStarsReturnsCurrentMinute() { // Arrange var scheduledJob = new ScheduledJob() { Crontab = "* * * * *" }; var sut = new ScheduledJobScheduler(scheduledJob); var now = DateTimeOffset.Now; // Act var result = sut.GetNextSchedule(now); // Assert Assert.AreEqual(now.Minute, result.Minute); }
public void IsScheduledToRunForFiveStarsReturnsTrue() { // Arrange var scheduledJob = new ScheduledJob() { Crontab = "* * * * *" }; var sut = new ScheduledJobScheduler(scheduledJob); var now = DateTimeOffset.Now; // Act var result = sut.IsScheduledToRun(now); // Assert Assert.IsTrue(result); }
public void GetNextScheduleForFiveStarsReturnsMinValue() { // Arrange var scheduledJob = new ScheduledJob() { Crontab = "*/5 * * * *" }; var sut = new ScheduledJobScheduler(scheduledJob); var now = new DateTimeOffset(2000, 08, 15, 05, 42, 13, TimeSpan.FromHours(0)); // Act var result = sut.GetNextSchedule(now); // Assert Assert.AreEqual(DateTimeOffset.MinValue, result); }
public void IsScheduledToRunSucceeds7() { var now = new DateTimeOffset(2016, 11, 15, 19, 29, 59, 999, DateTimeOffset.Now.Offset); now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, 0, 1, now.Offset); var job = new ScheduledJob() { Crontab = "0 0 0 12 1 ? 2017" }; var sut = new ScheduledJobScheduler(job); // Act Assert.IsFalse(sut.IsCrontabExpression()); Assert.IsTrue(sut.IsQuartzExpression()); var result = sut.IsScheduledToRun(now); // Assert Assert.IsFalse(result); }
public void GetNextScheduleFromQuartzExpressionThatIsWithinThisMinuteSucceeds4() { var withinThisMinute = new DateTimeOffset(2016, 11, 14, 14, 7, 0, 0, DateTimeOffset.Now.Offset); var expected = new DateTimeOffset(2016, 11, 14, 14, 7, 0, 0, withinThisMinute.Offset); var job = new ScheduledJob() { Crontab = "0 07 14 1/1 * ? *" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.GetNextScheduleFromQuartzExpression(withinThisMinute); // Assert Assert.AreEqual(expected, result); }
public void GetNextScheduleFromQuartzExpressionThatIsNotWithinThisMinuteSucceeds1() { var withinThisMinute = new DateTimeOffset(2016, 11, 14, 8, 17, 35, 123, DateTimeOffset.Now.Offset); var job = new ScheduledJob() { Crontab = "0 0 0 ? 1/1 5#3" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.GetNextScheduleFromQuartzExpression(withinThisMinute); // Assert Assert.AreEqual(DateTimeOffset.MinValue, result); }
public void GetNextScheduleFromQuartzExpressionSucceeds() { // Arrange var withinThisMinute = DateTimeOffset.Now; var expected = withinThisMinute; expected = expected.AddSeconds(-1 * expected.Second); expected = expected.AddMilliseconds(-1 * expected.Millisecond); var job = new ScheduledJob() { Crontab = "0 0/1 * 1/1 * ? *" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.GetNextScheduleFromQuartzExpression(withinThisMinute); // Assert Assert.AreNotEqual(DateTimeOffset.MinValue, result); Assert.IsTrue(Math.Floor(Math.Abs((expected - result).TotalMilliseconds)).Equals(0)); }
public void IsValidQuartzExpressionWithValidQuartzExpressionReturnsTrue() { // Arrange var job = new ScheduledJob() { Crontab = "0 0/1 * 1/1 * ? *" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.IsQuartzExpression(); // Assert Assert.IsTrue(result); }
public void IsValidQuartzExpressionWithInvalidExpressionReturnsFalse() { // Arrange var job = new ScheduledJob() { Crontab = "* 18 * **" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.IsQuartzExpression(); // Assert Assert.IsFalse(result); }
public void IsValidCrontabExpressionWithValidExpressionReturnsTrue() { // Arrange var job = new ScheduledJob() { Crontab = "* 18 * * *" }; var sut = new ScheduledJobScheduler(job); // Act var result = sut.IsCrontabExpression(); // Assert Assert.IsTrue(result); }
public void GetNextScheduleForFiveOnesReturnsMinValue() { // Arrange var scheduledJob = new ScheduledJob() { Crontab = "1 1 1 1 1" }; var sut = new ScheduledJobScheduler(scheduledJob); var now = DateTimeOffset.Now; // Act var result = sut.GetNextSchedule(now); // Assert Assert.AreEqual(DateTimeOffset.MinValue, result); }