protected override void Establish_context()
        {
            base.Establish_context();

            _kernel = new StandardKernel(new IntegrationTestModule());
            _jsonSerializer = _kernel.Get<IJsonSerializer>();
            _jsonInputLoader = _kernel.Get<IJsonInputLoader>();
            _dataAccess = _kernel.Get<IDataAccess>(new ConstructorArgument("jsonInputLoader", _jsonInputLoader), new ConstructorArgument("jsonSerializer", _jsonSerializer));
            _shiftRuleFactory = _kernel.Get<IShiftRuleFactory>(new ConstructorArgument("dataAccess", _dataAccess));
            _shiftScheduleValidator = _kernel.Get<IShiftScheduleValidator>(new ConstructorArgument("shiftRuleFactory", _shiftRuleFactory));
        }
 public SchedulingAlgorithmFactory(IShiftScheduleValidator scheduleValidator, IShiftRuleFactory shiftRuleFactory)
 {
     this.ScheduleValidator = scheduleValidator;
     this.ShiftRuleFactory = shiftRuleFactory;
 }