protected virtual ShiftRuleDefinition MockShiftRuleDefinition()
        {
            ShiftRuleDefinition ruleDefinition = new ShiftRuleDefinition();
            ruleDefinition.id = 7;
            ruleDefinition.value = "EMPLOYEES_PER_SHIFT";
            ruleDefinition.description = "Number of employees required per shift";

            return ruleDefinition;
        }
 //public IAssessor Assessor { get; private set; }
 public MinEmployeesPerShiftRule(ShiftRuleDefinition ruleDefinition,  ShiftRuleValue shiftRuleValue, IAssessor assessor,  RuleType type)
     : base(shiftRuleValue.rule_id, shiftRuleValue.employee_id, ruleDefinition.value, ruleDefinition.description, 
     assessor, type, ConstraintType.ShiftRuleValue, shiftRuleValue.value)
 {
     this.ShiftRuleValue = shiftRuleValue;
 }
        protected override void Establish_context()
        {
            base.Establish_context();

            _shift = new Shift();
            _shiftRuleDefinition = MockShiftRuleDefinition();
            _shiftRuleValue = MockShiftRuleValue();
            _assessor = new EmployeesInShiftAssessor(_shiftRuleValue.value);
            _shiftRule = new MinEmployeesPerShiftRule(_shiftRuleDefinition, _shiftRuleValue, _assessor, RuleType.HardRule);
            _shiftRule.Enabled = true;
        }