public void ShouldCalculateIntervallAtSummerToWinterChange() { var expected = Duration.FromHours(22) + Duration.FromMinutes(30); var settings = new Settings { TimeZone = "Europe/Vienna", From = new LocalTime(21, 00), Till = new LocalTime(23, 00) }; var time = new LocalDateTime(2017, 10, 28, 23, 30); var clock = CreateFakeClock(settings, time); var settingsManager = An.SettingsManager(); settingsManager.Settings = settings; var calculator = new IntervallCalculator(clock, settingsManager); var intervall = calculator.CalculateDurationTillIntervall(); Assert.That(intervall, Is.EqualTo(expected)); }
public void ShouldCalculateIntervallWhenTillIsAfterMidnignt(int currentHour, int currentMinute, int hours, int minutes) { var expected = Duration.FromHours(hours) + Duration.FromMinutes(minutes); var settings = new Settings { TimeZone = "Europe/Vienna", From = new LocalTime(23, 00), Till = new LocalTime(02, 00) }; var time = new LocalDateTime(2017, 06, 23, currentHour, currentMinute); var clock = CreateFakeClock(settings, time); var settingsManager = An.SettingsManager(); settingsManager.Settings = settings; var calculator = new IntervallCalculator(clock, settingsManager); var intervall = calculator.CalculateDurationTillIntervall(); Assert.That(intervall, Is.EqualTo(expected)); }