コード例 #1
0
        public void SetUp()
        {
            ILiftOperationRepository operationRepository = new LiftOperationRepository();
            IFloorSelectionStrategy  floorSelection      = new FifoFloorSelectionStrategy();

            _liftScheduler = new LiftScheduler.LiftScheduler(operationRepository, floorSelection);
        }
コード例 #2
0
        public LiftService(ILiftRepository liftRepository, ILiftLogRepository liftLogRepository, IOptions <LiftServiceOptions> options, ILiftScheduler liftScheduler)
        {
            _liftRepository    = liftRepository;
            _liftLogRepository = liftLogRepository;
            _liftScheduler     = liftScheduler;
            _options           = options.Value;

            for (int i = 1; i <= _options.Lifts; i++)
            {
                var lift = new Lift(i, _options.LiftMovementTime, _options.DoorOpenCloseTime, _options.FloorsMin);
                lift.OnActionCompleted += OnLiftFinishedOperation;
                lift.OnStateChanged    += OnLiftStateChange;
                _liftRepository.Add(lift);
            }
        }
コード例 #3
0
 public void TearDown()
 {
     _liftScheduler = null;
 }