public void NextWeekendRomanceStandardTime() { TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time"); var start = new DateTimeOffset(2021, 1, 25, 0, 0, 0, TimeSpan.FromHours(1)); var end = new DateTimeOffset(2021, 1, 31, 23, 59, 59, TimeSpan.FromHours(1)); for (DateTimeOffset time = start; time <= end; time = time.AddHours(1)) { EssentialsPeriod period = EssentialsPeriod.NextWeekend(time, romance); string message = $"Based on: {time:yyyy-MM-ddTHH:mm:ssK}\r\nDay of week: {time.DayOfWeek} ({(int) time.DayOfWeek})\r\n\r\n"; switch (time.DayOfWeek) { case DayOfWeek.Saturday: case DayOfWeek.Sunday: Assert.AreEqual("2021-02-06T00:00:00.000+01:00", period.Start.ToString(), "\r\n\r\nSTART\r\n" + message); Assert.AreEqual("2021-02-07T23:59:59.999+01:00", period.End.ToString(), "\r\n\r\nEND\r\n" + message); break; default: Assert.AreEqual("2021-01-30T00:00:00.000+01:00", period.Start.ToString(), "\r\n\r\nSTART\r\n" + message); Assert.AreEqual("2021-01-31T23:59:59.999+01:00", period.End.ToString(), "\r\n\r\nEND\r\n" + message); break; } } }
public void NextWeekendUtcToRomanceStandardTime2() { TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time"); var start1 = new DateTimeOffset(2021, 3, 22, 8, 0, 0, TimeSpan.Zero); var end1 = new DateTimeOffset(2021, 3, 26, 22, 59, 59, TimeSpan.Zero); var start2 = new DateTimeOffset(2021, 3, 26, 23, 0, 0, TimeSpan.Zero); var end2 = new DateTimeOffset(2021, 3, 28, 22, 59, 59, TimeSpan.Zero); for (DateTimeOffset time = start1; time <= end1; time = time.AddHours(1)) { EssentialsPeriod period = EssentialsPeriod.NextWeekend(time, romance); string message = $"Based on: {time:yyyy-MM-ddTHH:mm:ssK}\r\nDay of week: {time.DayOfWeek} ({(int) time.DayOfWeek})\r\n\r\n"; Assert.AreEqual("2021-03-27T00:00:00.000+01:00", period.Start.ToString(), "\r\n\r\n1: START\r\n" + message); Assert.AreEqual("2021-03-28T23:59:59.999+02:00", period.End.ToString(), "\r\n\r\n1: END\r\n" + message); } for (DateTimeOffset time = start2; time <= end2; time = time.AddHours(1)) { EssentialsPeriod period = EssentialsPeriod.NextWeekend(time, romance); string message = $"Based on: {time:yyyy-MM-ddTHH:mm:ssK}\r\nDay of week: {time.DayOfWeek} ({(int) time.DayOfWeek})\r\n\r\n"; Assert.AreEqual("2021-04-03T00:00:00.000+02:00", period.Start.ToString(), "\r\n\r\n2: START\r\n" + message); Assert.AreEqual("2021-04-04T23:59:59.999+02:00", period.End.ToString(), "\r\n\r\n2: END\r\n" + message); } }
public void NextWeekendRomanceStandardTimeToUtc2() { TimeZoneInfo utc = TimeZoneInfo.FindSystemTimeZoneById("UTC"); var s1 = new DateTimeOffset(2021, 3, 22, 1, 0, 0, TimeSpan.FromHours(1)); var e1 = new DateTimeOffset(2021, 3, 27, 0, 59, 59, TimeSpan.FromHours(1)); var s2 = new DateTimeOffset(2021, 3, 27, 1, 0, 0, TimeSpan.FromHours(1)); var e2 = new DateTimeOffset(2021, 3, 28, 23, 59, 59, TimeSpan.FromHours(2)); // Run through each hour of the work days for (DateTimeOffset time = s1; time <= e1; time = time.AddHours(1)) { EssentialsPeriod period = EssentialsPeriod.NextWeekend(time, utc); string message = $"Based on: {time:yyyy-MM-ddTHH:mm:ssK}\r\nDay of week: {time.DayOfWeek} ({(int) time.DayOfWeek})\r\n\r\n"; Assert.AreEqual("2021-03-27T00:00:00.000Z", period.Start.ToString(), "\r\n\r\nSTART\r\n" + message); Assert.AreEqual("2021-03-28T23:59:59.999Z", period.End.ToString(), "\r\n\r\nEND\r\n" + message); } // Run through each hour of the weekend for (DateTimeOffset time = s2; time <= e2; time = time.AddHours(1)) { EssentialsPeriod period = EssentialsPeriod.NextWeekend(time, utc); string message = $"Based on: {time:yyyy-MM-ddTHH:mm:ssK}\r\nDay of week: {time.DayOfWeek} ({(int) time.DayOfWeek})\r\n\r\n"; Assert.AreEqual("2021-04-03T00:00:00.000Z", period.Start.ToString(), "\r\n\r\nSTART\r\n" + message); Assert.AreEqual("2021-04-04T23:59:59.999Z", period.End.ToString(), "\r\n\r\nEND\r\n" + message); } }
public void Today1() { TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time"); DateTimeOffset sample = new DateTimeOffset(2021, 3, 28, 0, 0, 0, TimeSpan.FromHours(1)); EssentialsPeriod period = EssentialsPeriod.Today(sample, romance); Assert.AreEqual("2021-03-28T00:00:00.000+01:00", period.Start.ToString(), "Start"); Assert.AreEqual("2021-03-28T23:59:59.999+02:00", period.End.ToString(), "End"); }
public void ThisMonth2() { TimeZoneInfo romance = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time"); DateTimeOffset sample1 = new DateTimeOffset(2021, 10, 26, 0, 0, 0, TimeSpan.FromHours(2)); DateTimeOffset sample2 = new DateTimeOffset(2021, 10, 31, 12, 0, 0, TimeSpan.FromHours(1)); EssentialsPeriod period1 = EssentialsPeriod.ThisMonth(sample1, romance); Assert.AreEqual("2021-10-01T00:00:00.000+02:00", period1.Start.ToString(), "#1 Start"); Assert.AreEqual("2021-10-31T23:59:59.999+01:00", period1.End.ToString(), "#1 End"); EssentialsPeriod period2 = EssentialsPeriod.ThisMonth(sample2, romance); Assert.AreEqual("2021-10-01T00:00:00.000+02:00", period2.Start.ToString(), "#2 Start"); Assert.AreEqual("2021-10-31T23:59:59.999+01:00", period2.End.ToString(), "#2 End"); }