public void FinalizeRental() { Rental rental = this.Client.RequestARental(this.Bike, UnitOfTime.Week, this.RentalOperator); // This is so that the beginning time does not coincide with the finalization time. System.Threading.Thread.Sleep(2000); RentalFinalization rentalFinalization = this.Client.FinalizeRental(rental, this.RentalOperator); Assert.AreEqual(this.Client, rentalFinalization.ClientWhoFinalizedRental); }
public void PayPurchase() { Rental rental = this.Client.RequestARental(this.Bike, UnitOfTime.Week, this.RentalOperator); // This is so that the beginning time does not coincide with the finalization time. System.Threading.Thread.Sleep(2000); RentalFinalization rentalFinalization = this.Client.FinalizeRental(rental, this.RentalOperator); Payment payment = this.Client.PayPurchase(rental, rental.Cost, new Cashier()); Assert.AreEqual(this.Client, payment.ClientWhoPaid); }
public void FinalizeNotFinalizedRental() { RentalBeginning beginning = new RentalBeginning(this.RentalOperator); RentalModality rentalModality = new RentalByWeek(new Money(TestsConstants.RENTAL_BY_WEEK_AMOUNT, TestsConstants.RENTAL_BY_WEEK_TYPE_OF_CURRENCY)); IRental rental = new Rental(this.Client, beginning, this.Bike, rentalModality); RentalFinalization rentalFinalization = this.RentalOperator.FinalizeRental(this.Client, rental); Assert.AreEqual(rentalFinalization, rental.Finalization); Assert.AreEqual(this.RentalOperator, rental.Finalization.RentalOperatorWhoFinalizedRental); Assert.AreEqual(this.Client, rental.Finalization.ClientWhoFinalizedRental); Assert.AreEqual(BikeState.Free, this.Bike.State); Assert.AreEqual(null, this.Bike.Rental); }