public void TestIfOnly2SessionsLeftInTwoWeekPeriodAndContrivedSituation()
        {
            //given
            var tstAss = contrivedAssignments.Take(20).ToList();
            //when
            var elEmps = new BAUAssignmentEligibilitySelector().ListEligibleEmployees(
                DateTime.Now.Date - new TimeSpan((int)DateTime.Now.DayOfWeek - 5, 0, 0, 0), false,
                tstAss, employees);

            //then
            CollectionAssert.AreEquivalent(new List <int>()
            {
                9, 10
            }, elEmps);
        }
        public void TestNoEmployeesTwiceOnOneDay()
        {
            //given
            var tstAss = new List <BAUAssignment>();

            tstAss.Add(new BAUAssignment()
            {
                Date = DateTime.Now.Date, Morning = true, EmployeeNumber = 7
            });
            //when
            var elEmps = new BAUAssignmentEligibilitySelector().ListEligibleEmployees(
                DateTime.Now.Date, false,
                tstAss, employees);

            //then
            CollectionAssert.AreEquivalent(new List <int>()
            {
                1, 2, 3, 4, 5, 6, 8, 9, 10
            }, elEmps);
        }
        public void TestNoEmployeesOnConsecutiveDays()
        {
            //given
            var tstAss = new List <BAUAssignment>();

            tstAss.Add(new BAUAssignment()
            {
                Date = DateTime.Now.Date - new TimeSpan(1, 0, 0, 0), Morning = true, EmployeeNumber = 7
            });
            tstAss.Add(new BAUAssignment()
            {
                Date = DateTime.Now.Date - new TimeSpan(1, 0, 0, 0), Morning = false, EmployeeNumber = 8
            });
            //when
            var elEmps = new BAUAssignmentEligibilitySelector().ListEligibleEmployees(
                DateTime.Now.Date, true,
                tstAss, employees);

            //then
            CollectionAssert.AreEquivalent(new List <int>()
            {
                1, 2, 3, 4, 5, 6, 9, 10
            }, elEmps);
        }