protected override Week MockWeekTotest(int WeekId) { Week week = new Week(); week.Id = WeekId; week.Start_Date = DateTime.Now; week.WorkingDays = new WorkingDays(); for (int i = 1; i < 8; i++) { week.WorkingDays.Add(i, new WorkingDay() { Id = i, Week = WeekId }); Shift shift = new Shift() { Id = 1, Week = WeekId, WorkingDay = i, AssignedEmployees = MockEmployeesInShift() }; week.WorkingDays[i].Shifts.Add(1, shift); } return week; }
private void PopulateMock(ShiftSchedule schedule) { List<JsonWeek> jsonSchedule = GetJsonSchedule(); DateTime initDate = new DateTime(2015, 06, 01); int w = 23; foreach (var jweek in jsonSchedule) { Week newWeek = new Week() { Id = w, Start_Date = initDate }; for (int wday = 1; wday < 8; wday++) { WorkingDay workingDay = new WorkingDay() { Id = wday, Week = w }; workingDay.Shifts.Add(1, new Shift() { Id = 1, Week = w, WorkingDay = wday }); foreach (int employeeId in jsonSchedule[w - 23].Week[wday - 1].AE) { workingDay.Shifts[1].AssignedEmployees.Add(employeeId, new Employee() { id = employeeId, name = "John Doe" }); } newWeek.WorkingDays.Add(workingDay.Id, workingDay); } schedule.Weeks.Add(newWeek.Id, newWeek); newWeek.Start_Date = initDate; initDate = initDate.AddDays(7); LogSession.Main.LogMessage("Week[{0}]: Start date: {1}", newWeek.Id, newWeek.Start_Date); w++; } }
protected override void Establish_context() { base.Establish_context(); _timeOffRequest = MockTimeOffRequest(); _weekToTest = MockWeekTotest(_timeOffRequest.week); _assessor = new EmployeeTimeOffAssessor(_timeOffRequest); _shiftRule = new TimeOffRequestRule("TIME_OFF_REQUEST", _timeOffRequest, _assessor, RuleType.SoftRule); _shiftRule.Enabled = true; }
protected override void Because_of() { List<string> errors = null; AssessorArgs args = null; ShiftSchedule shiftSchedule = new ShiftSchedule(); Week week = new Week(); week.Id = 50; week.Start_Date = new DateTime(2015,07,12); WorkingDay wDay = new WorkingDay(); wDay.Id = 1; wDay.Week = week.Id; wDay.Shifts.Add(1,_shift); week.WorkingDays.Add(wDay.Id, wDay); shiftSchedule.Weeks.Add(week.Id, week); args = new AssessorArgs() { EmployeeId = _shiftRule.EmployeeId, ItemToAssess = shiftSchedule }; _result = _shiftRule.Assess(args, out errors); }