private bool Feasible(ExpectedTestResult result) { return(result.ExpectedMaxNumberOfShiftsFeasibility && result.ExpectedMinTotalMinsFeasibility && result.ExpectedMaxTotalMinsFeasibility && result.ExpectedMinConsecutiveShiftsFeasibility && result.ExpectedMaxConsecutiveShiftsFeasibility && result.ExpectedMinConsecutiveDaysOffFeasibility && result.ExpectedMaxNumberOfWeekendsFeasibility && result.ExpectedDayOffsFeasibility && result.ExpectedMinRestTimeFeasibility); }
public ExpectedTestResult GenerateResult() { var result = new ExpectedTestResult { ExpectedPenalty = OptimalityEvaluator.CalculatePenalty(_result), ExpectedMaxNumberOfShiftsFeasibility = ForEachEmployee(_feasibilityEvaluator.MaxNumberOfShiftsNotExceeded), ExpectedMinTotalMinsFeasibility = ForEachEmployee(_feasibilityEvaluator.MinTotalMinutesNotExceeded), ExpectedMaxTotalMinsFeasibility = ForEachEmployee(_feasibilityEvaluator.MaxTotalMinutesNotExceeded), ExpectedMinConsecutiveShiftsFeasibility = ForEachEmployee(_feasibilityEvaluator.MinConsecutiveShiftsNotExceeded), ExpectedMaxConsecutiveShiftsFeasibility = ForEachEmployee(_feasibilityEvaluator.MaxConsecutiveShiftsNotExceeded), ExpectedMinConsecutiveDaysOffFeasibility = ForEachEmployee(_feasibilityEvaluator.MinConsecutiveDaysOffNotExceeded), ExpectedMaxNumberOfWeekendsFeasibility = ForEachEmployee(_feasibilityEvaluator.MaxNumberOfWeekendsNotExceeded), ExpectedDayOffsFeasibility = ForEachEmployee(_feasibilityEvaluator.DayOffsRespected), ExpectedMinRestTimeFeasibility = ForEachEmployee(_feasibilityEvaluator.MinRestTimeRespected) }; result.ExpectedFeasibility = Feasible(result); return(result); }