public Level(int flr, int numberSpots) { floor = flr; spots = new ParkingSpots[numberSpots]; int largeSpot = numberSpots / 4; int bikeSpots = numberSpots / 4; int compactSpots = numberSpots - largeSpot - bikeSpots; //Allocate spots for parking on each level according to size/type of vehicle for (int i = 0; i < numberSpots; i++) { //Motorcycle can fit in any spot VehicleSize sz = VehicleSize.Motorcycle; if (i < largeSpot) { //Large vehicle can only fit in Large Spot sz = VehicleSize.Large; } else if (i < largeSpot + compactSpots) { //Compact vehicle can fit in Compact & Large spot sz = VehicleSize.Compact; } int row = i / SPOTS_PER_ROW; spots[i] = new ParkingSpots(this, row, i, sz); } availableSpots = numberSpots; }
public VehicleModel(string code, string name, VehicleBrand brand, VehicleSize size, VehicleType type) : base(code) { _name = name; _brand = brand; _size = size; _type = type; }
public Booking UpdateVehicleSize(VehicleSize vehicleSize) { var backup = VehicleSize; VehicleSize = vehicleSize; return(Validate(e => e.VehicleSize = backup)); }
public TrackedVehicleInfo(Vehicle v) { vehicle = v; size = GetVehicleSizeInternal(v); offsets = vehicle.EnumTurbineOffsets().ToArray(); numEngines = offsets.Length; }
public virtual void UpdatePrice(VehicleSize vehicleSize, long price) { var servicePrice = _servicePrices.First(sp => sp.VehicleSize == vehicleSize); _servicePrices.Remove(servicePrice); _servicePrices.Add(new ServicePricing(this, vehicleSize, price)); }
public ParkingSpot(Level level, int row, int spotNumber, VehicleSize spotSize) { this.level = level; Row = row; SpotNumber = spotNumber; SpotSize = spotSize; }
public ParkingSpot(Level lvl, int r, int n, VehicleSize s) { level = lvl; row = r; spotNumber = n; spotSize = s; }
public ParkingSpot(ParkingLevel level, int rowno, int spotnumber, VehicleSize xVehicleSize) { _level = level; _rowno = rowno; _spotnumber = spotnumber; _vehicleSize = xVehicleSize; }
public void Checkin(VehicleSize vehicleSize, ILot lot) { Lot _lot = lot as Lot; if (_lot == null) throw new ArgumentException("lot is not of vehicleSize Lot"); int cost = (int)vehicleSize; Lots[_lot.Saturation].Remove(_lot); _lot.Saturation -= cost; Lots[_lot.Saturation].Add(_lot); }
public static CarWinch Create(VehicleSize vehicleSize) { return(vehicleSize switch { VehicleSize.Small => new SmallCarWinch(vehicleSize), VehicleSize.Medium => new MediumCarWinch(vehicleSize), VehicleSize.Big => new BigCarWinch(vehicleSize), _ => throw new ApplicationException("Unknown vehicle size"), });
public static Vehicle Create(string model, VehicleSize vehicleSize) { return(vehicleSize switch { VehicleSize.Small => new SmallVehicle(model, vehicleSize), VehicleSize.Medium => new MediumVehicle(model, vehicleSize), VehicleSize.Big => new BigVehicle(model, vehicleSize), _ => throw new ApplicationException("Unknown vehicle size"), });
public void UpdateVehicleSize_WithAValidVehicleSize_UpdatesTheVehicleSize() { //arrange const VehicleSize expectedSize = VehicleSize.Medium; //act var booking = _validBooking.UpdateVehicleSize(expectedSize); //assert Assert.Equal(expectedSize, booking.VehicleSize); }
public VehicleModel Save(string code, string name, VehicleBrand brand, VehicleSize size, VehicleType type) { VehicleModel newModel = null; var session = NHibernateSessionManager.GetLocalSession(); session.DoTransactional(sess => { newModel = _modelRepo.Insert(new VehicleModel(code, name, brand, size, type)); }); return(newModel); }
public VehicleModel Save(string code, string name, VehicleBrand brand, VehicleSize size, VehicleType type) { VehicleModel newModel = null; var session = NHibernateSessionManager.GetLocalSession(); session.DoTransactional(sess => { newModel = _modelRepo.Insert(new VehicleModel(code, name, brand, size, type)); }); return newModel; }
// Constructor public Vehicle(string registrationNumber, VehicleSize size, FuelType fuelType, double consumptionPerKm) { this.RegistrationNumber = registrationNumber; this.Size = size; this.FuelType = fuelType; this.FuelConsumptionPerKm = consumptionPerKm; // If vehicle is motorbike, fuel type must be petrol if (size == VehicleSize.Motorbike && FuelType != FuelType.Petrol) { this.FuelType = FuelType.Petrol; } SetAvergageCO2EmissionPerKm(FuelType, Size); }
public bool TryCheckout(VehicleSize vehicleSize, out ILot lot) { int cost = (int)vehicleSize; foreach (int saturationIndex in new int[] { 1, 0 }) { if (2 - saturationIndex < cost || Lots[saturationIndex].Count == 0) continue; Lot _lot = Lots[saturationIndex].First(); _lot.Saturation += cost; Lots[saturationIndex].Remove(_lot); Lots[_lot.Saturation].Add(_lot); lot = _lot; return true; } lot = null; return false; }
public Level(int floor, int numberSpots) { this.floor = floor; spots = new ParkingSpot[numberSpots]; int largeSpots = numberSpots / 4; int bikeSpots = numberSpots / 4; int compactSpots = numberSpots - largeSpots - bikeSpots; for (int i = 0; i < numberSpots; i++) { VehicleSize sz = VehicleSize.Motorcycle; if (i < largeSpots) { sz = VehicleSize.Large; } else if (i < largeSpots + compactSpots) { sz = VehicleSize.Compact; } int row = i / SPOTS_PER_ROW; spots[i] = new ParkingSpot(this, row, i, sz); } availableSpots = numberSpots; }
public MediumVehicle(string model, VehicleSize vehicleSize) : base(model, vehicleSize) { }
public SmallVehicle(string model, VehicleSize vehicleSize) : base(model, vehicleSize) { }
public ServicePricingDto(VehicleSize vehicleSize, long price) { _vehicleSize = vehicleSize; _price = price; }
public virtual void AddPrice(VehicleSize vehicleSize, long price) { _servicePrices.Add(new ServicePricing(this, vehicleSize, price)); }
public Vehicle(int id, VehicleSize size) { _vehicleSize = size; }
// Methods public void SetAvergageCO2EmissionPerKm(FuelType type, VehicleSize size) { // All numbers used in the calculation are provided by the UK Government // Conversion Factors for greenhouse gas (GHG) reporting (2017). // Fuel type is Petrol if (type == FuelType.Petrol) { switch (size) { case VehicleSize.Small: AverageCO2EmissionPerKm = 0.15649; break; case VehicleSize.Medium: AverageCO2EmissionPerKm = 0.19407; break; case VehicleSize.Large: AverageCO2EmissionPerKm = 0.28539; break; case VehicleSize.Motorbike: AverageCO2EmissionPerKm = 0.11662; break; default: // Default is set to average car value AverageCO2EmissionPerKm = 18568; break; } } // Fuel type is Diesel else if (type == FuelType.Diesel) { switch (size) { case VehicleSize.Small: AverageCO2EmissionPerKm = 0.14545; break; case VehicleSize.Medium: AverageCO2EmissionPerKm = 0.1738; break; case VehicleSize.Large: AverageCO2EmissionPerKm = 0.21834; break; default: // Default is set to average car value AverageCO2EmissionPerKm = 17887; break; } } // Fuel type is Hybrid else if (type == FuelType.PlugInHybrid) { switch (size) { case VehicleSize.Small: AverageCO2EmissionPerKm = 0.10973; break; case VehicleSize.Medium: AverageCO2EmissionPerKm = 0.11243; break; case VehicleSize.Large: AverageCO2EmissionPerKm = 0.13052; break; default: // Default is set to average car value AverageCO2EmissionPerKm = 11659; break; } } }
protected Vehicle(string model, VehicleSize vehicleSize) { Model = model; VehicleSize = vehicleSize; }
protected CarWinch(VehicleSize vehicleSize) { VehicleSize = vehicleSize; }
public Place(int id, VehicleSize size) { _id = id; _placeSize = size; }
public BigCarWinch(VehicleSize vehicleSize) : base(vehicleSize) { }
public MediumCarWinch(VehicleSize vehicleSize) : base(vehicleSize) { }
public SmallCarWinch(VehicleSize vehicleSize) : base(vehicleSize) { }
protected Vehicle(string registration, VehicleSize vehicleSize) { _registration = registration; _vehicleSize = vehicleSize; }
public BigVehicle(string model, VehicleSize vehicleSize) : base(model, vehicleSize) { }
public abstract Vehicle CreateVehicle(string model, VehicleSize vehicleSize);
public override Vehicle CreateVehicle(string model, VehicleSize vehicleSize) { return(VehicleCreator.Create(model, vehicleSize)); }