public void ThridShift() { BusinessWeek businessWeek = new BusinessWeek(); //day 1 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Sunday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Monday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 2 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Monday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Tuesday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 3 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Tuesday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Wednesday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 4 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Wednesday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Thursday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 5 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Thursday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Friday, TimeSpan.Zero, TimeSpan.FromHours(6))); var startDate = new DateTime(2010, 1, 3, 22, 0, 0); var endDate = new DateTime(2010, 1, 4, 6, 0, 0); TimeSpan time = businessWeek.GetBusinessTime(startDate, endDate); Assert.Equal(8, time.TotalHours); startDate = new DateTime(2010, 1, 2, 0, 0, 0); endDate = new DateTime(2010, 1, 9, 0, 0, 0); time = businessWeek.GetBusinessTime(startDate, endDate); Assert.Equal(40, time.TotalHours); }
public void ThridShift() { BusinessWeek businessWeek = new BusinessWeek(); //day 1 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Sunday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Monday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 2 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Monday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Tuesday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 3 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Tuesday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Wednesday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 4 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Wednesday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Thursday, TimeSpan.Zero, TimeSpan.FromHours(6))); //day 5 businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Thursday, TimeSpan.FromHours(22), TimeSpan.FromHours(24))); businessWeek.BusinessDays.Add(new BusinessDay(DayOfWeek.Friday, TimeSpan.Zero, TimeSpan.FromHours(6))); var startDate = new DateTime(2010, 1, 3, 22, 0, 0); var endDate = new DateTime(2010, 1, 4, 6, 0, 0); TimeSpan time = businessWeek.GetBusinessTime(startDate, endDate); Assert.AreEqual(8, time.TotalHours); startDate = new DateTime(2010, 1, 2, 0, 0, 0); endDate = new DateTime(2010, 1, 9, 0, 0, 0); time = businessWeek.GetBusinessTime(startDate, endDate); Assert.AreEqual(40, time.TotalHours); }