public void TestShiftingSchedulesAheadUtc() { JobSchedule localSchedule = new JobSchedule(); localSchedule.ExecutionTime = 1400; localSchedule.ExecutionSchedule = 21; // Su/Tu/Th int utcOffset = 18000; // CDT offset int expectedExecutionTime = localSchedule.ExecutionTime - utcOffset + dayInSeconds; int expectedSchedule = 74; // M/W/Sat JobSchedule utcSchedule = ScheduleConversionHelper.ShiftSchedule(localSchedule, localSchedule.ExecutionTime - utcOffset); Assert.AreEqual(expectedExecutionTime, utcSchedule.ExecutionTime, string.Format("Got {0} for UTC Execution time, expected {1}", utcSchedule.ExecutionTime, expectedExecutionTime)); Assert.AreEqual(expectedSchedule, utcSchedule.ExecutionSchedule, string.Format("Got {0} for UTC Execution schedule, expected {1}", utcSchedule.ExecutionSchedule, expectedSchedule)); }
public void TestConversionsCancelOut() { JobSchedule firstLocalSchedule = new JobSchedule(); firstLocalSchedule.ExecutionTime = 70000; firstLocalSchedule.ExecutionSchedule = 23; JobSchedule secondLocalSchedule = new JobSchedule(); secondLocalSchedule.ExecutionTime = 10000; secondLocalSchedule.ExecutionSchedule = 23; JobSchedule firstUtcSchedule = ScheduleConversionHelper.ConvertLocalToUtc(firstLocalSchedule); JobSchedule secondUtcSchedule = ScheduleConversionHelper.ConvertLocalToUtc(secondLocalSchedule); JobSchedule firstLocalFromUtc = ScheduleConversionHelper.ConvertUtcToLocal(firstUtcSchedule); JobSchedule secondLocalFromUtc = ScheduleConversionHelper.ConvertUtcToLocal(secondUtcSchedule); Assert.AreEqual(firstLocalSchedule.ExecutionTime, firstLocalFromUtc.ExecutionTime); Assert.AreEqual(secondLocalSchedule.ExecutionTime, secondUtcSchedule.ExecutionTime); Assert.AreEqual(firstLocalSchedule.ExecutionSchedule, firstLocalFromUtc.ExecutionSchedule); Assert.AreEqual(secondLocalSchedule.ExecutionSchedule, secondLocalFromUtc.ExecutionSchedule); }
public void TestShiftLeft(int local, int utc) { int shifted = ScheduleConversionHelper.ShiftDaysLeft(local); Assert.AreEqual(utc, shifted, string.Format("Got {0} for schedule bitmask, expected {1}", shifted, utc)); }