Exemplo n.º 1
0
        public Program()
        {
            ICommand                      _command               = new Command();
            ICheckCommand                 _checkCommand          = new CheckCommand(_command);
            ISlot                         _slot                  = new Slot();
            IParkingLotRepository         _parkingRepository     = new ParkingLotRepository();
            ICheckParkingLotCreated       checkParkingLotCreated = new CheckParkingLotCreated(_parkingRepository);
            ICommandExecutorSelector      createParkingLot       = new CreateParkingLot(_checkCommand, _slot, checkParkingLotCreated, _parkingRepository);
            IValidateVeicleDetails        _validateVeicleDetails = new ValidateVeicleDetails();
            IParkingVehicle               _parkingVehicle        = new ParkingVehicle();
            IParkSuccessMessage           _parkSuccessMessage    = new ParkSuccessMessage();
            ICommandExecutorSelector      park          = new Park(_checkCommand, _validateVeicleDetails, _parkingVehicle, _parkingRepository, _parkSuccessMessage);
            ISlotToEmpty                  _slotToEmpty  = new SlotToEmpty();
            IMaxSlotIndex                 _maxSlotIndex = new MaxSlotIndex();
            IValidateSlotNumberToEmpty    _validateSlotNumberToEmpty = new ValidateSlotNumberToEmpty(_parkingRepository, _maxSlotIndex);
            ILeaveSuccessMessage          _leaveSuccessMessage       = new LeaveSuccessMessage();
            ICommandExecutorSelector      leave           = new Leave(_checkCommand, _slotToEmpty, _validateSlotNumberToEmpty, _parkingRepository, _leaveSuccessMessage);
            IStatusOutput                 _statusOutput   = new StatusOutput();
            ICommandExecutorSelector      status          = new Status(_parkingRepository, _statusOutput);
            IVehicleColor                 _vehicleColor   = new VehicleColor();
            IVehicleByColor               _vehicleByColor = new VehicleByColor();
            IVehicleByColorSuccessMessage _vehicleByColorSuccessMessage = new VehicleByColorSuccessMessage();
            ICommandExecutorSelector      regNoByColor               = new RegistrationNumbersForCarsWithColour(_checkCommand, _vehicleColor, _parkingRepository, _vehicleByColor, _vehicleByColorSuccessMessage);
            ISlotByColor                  _slotByColor               = new SlotByColor();
            ISlotByColorMessage           _slotByColorMessage        = new SlotByColorMessage();
            ICommandExecutorSelector      slotNoByColor              = new SlotNumbersForCarsWithColour(_checkCommand, _vehicleColor, _parkingRepository, _slotByColor, _slotByColorMessage);
            IVehicleRegistrationNumber    _vehicleRegistrationNumber = new VehicleRegistrationNumber();
            ISlotByRegistrationNumber     _slotByRegistrationNumber  = new SlotByRegistrationNumber();
            ICommandExecutorSelector      slotByRegistration         = new SlotNumberForRegistrationNumber(_checkCommand, _vehicleRegistrationNumber, _parkingRepository, _slotByRegistrationNumber);

            ICommandExecutorSelector[] _selectors = { createParkingLot, park, leave, status, regNoByColor, slotNoByColor, slotByRegistration };
            _provider = new CommandExecutorProvider(_selectors);
        }
Exemplo n.º 2
0
 public ExecuteFromFile(ICommandExecutorProvier provider,
                        IValidateFileType validateFileType,
                        IInputFileReader fileReader)
 {
     _provider         = provider;
     _validateFileType = validateFileType;
     _fileReader       = fileReader;
 }
        public void GivenCommandAs_EmptyString_ThenReturnNull()
        {
            //Given:
            string command = "";

            //When: I call CommandExecutorProvier object
            _selectors    = new ICommandExecutorSelector[1];
            _selectors[0] = new ExecuteSelectorHijack(false);
            _provider     = new CommandExecutorProvider(_selectors);
            var result = _provider.InitExecutor(command);

            //Then: I get a type of ICommandExecutor
            Assert.IsNull(result);
        }
        public void GivenCommandAs_create_parking_lot_ThenReturnATypeOfICommandExecutor()
        {
            //Given:
            string command = "create_parking_lot";

            //When: I call CommandExecutorProvier object
            _selectors    = new ICommandExecutorSelector[1];
            _selectors[0] = new ExecuteSelectorHijack(true);
            _provider     = new CommandExecutorProvider(_selectors);
            var result = _provider.InitExecutor(command);

            //Then: I get a type of ICommandExecutor
            Assert.IsInstanceOfType(result, typeof(ICommandExecutor));
        }