public void SetUp() { this.Client = new Client(); this.BikeSpecifications = new BikeSpecifications(TestsConstants.BIKE_BRAND, TestsConstants.BIKE_MODEL, TestsConstants.BIKE_COLOR); this.Bike = new Bike(TestsConstants.BIKE_IDENTIFICATION_CODE, this.BikeSpecifications); PromotionRules familyRentalRules = new PromotionRules(TestsConstants.FAMILY_RENTAL_TERMS_AND_CONDITIONS, new DateTime(TestsConstants.FAMILY_RENTAL_EFFECTIVE_DATE_YEAR, TestsConstants.FAMILY_RENTAL_EFFECTIVE_DATE_MONTH, TestsConstants.FAMILY_RENTAL_EFFECTIVE_DATE_DAY, 0, 0, 0), new DateTime(TestsConstants.FAMILY_RENTAL_EXPIRATON_DATE_YEAR, TestsConstants.FAMILY_RENTAL_EXPIRATON_DATE_MONTH, TestsConstants.FAMILY_RENTAL_EXPIRATON_DATE_DAY, 0, 0, 0)); FamilyRentalInformation familyRentalInformation = new FamilyRentalInformation( TestsConstants.FAMILY_RENTAL_DISCOUNT_PERCENT, TestsConstants.FAMILY_RENTAL_MINIMUM_RENTALS, TestsConstants.FAMILY_RENTAL_MAXIMUM_RENTALS, familyRentalRules); RentalByHour rentalByHour = new RentalByHour(new Money(TestsConstants.RENTAL_BY_HOUR_AMOUNT, TestsConstants.RENTAL_BY_HOUR_TYPE_OF_CURRENCY)); RentalByDay rentalByDay = new RentalByDay(new Money(TestsConstants.RENTAL_BY_DAY_AMOUNT, TestsConstants.RENTAL_BY_DAY_TYPE_OF_CURRENCY)); RentalByWeek rentalByWeek = new RentalByWeek(new Money(TestsConstants.RENTAL_BY_WEEK_AMOUNT, TestsConstants.RENTAL_BY_WEEK_TYPE_OF_CURRENCY)); this.RentalOperator = new RentalOperator(familyRentalInformation, rentalByHour, rentalByDay, rentalByWeek); }
public RentalFinalization FinalizeRental(IRental rental, IRentalOperator rentalOperator) { return(rentalOperator.FinalizeRental(this, rental)); }
public FamilyRental RequestAFamilyRental(IList <IClient> clientsOfTheRentals, IList <Bike> bikes, IList <UnitOfTime> unitsOfTime, IRentalOperator rentalOperator) { return(rentalOperator.ProvideFamilyRental(this, clientsOfTheRentals, bikes, unitsOfTime)); }
public Rental RequestARental(Bike bike, UnitOfTime unitOfTime, IRentalOperator rentalOperator) { return(rentalOperator.ProvideRental(this, bike, unitOfTime)); }
public RentalBeginning(IRentalOperator rentalOperatorWhoIsBeginningRental) { this.RentalOperatorWhoBeganRental = rentalOperatorWhoIsBeginningRental; this.Date = DateTime.Now; }
public RentalFinalization(IClient clientWhoIsFinalizingRental, IRentalOperator rentalOperatorWhoIsFinalizingRental) { this.ClientWhoFinalizedRental = clientWhoIsFinalizingRental; this.RentalOperatorWhoFinalizedRental = rentalOperatorWhoIsFinalizingRental; this.Date = DateTime.Now; }