Пример #1
0
        public void FinalizeFinalizedRentalThrowsRentalIsAlreadyFinalizedException()
        {
            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);

            this.RentalOperator.FinalizeRental(this.Client, rental);

            Assert.That(() => this.RentalOperator.FinalizeRental(this.Client, rental),
                        Throws.TypeOf <RentalIsAlreadyFinalizedException>());
        }
Пример #2
0
        public void SetUp()
        {
            this.MockClient = new Mock <IClient>();

            this.MockRentalOperator = new Mock <IRentalOperator>();
            RentalBeginning rentalBeginning = new RentalBeginning(this.MockRentalOperator.Object);

            BikeSpecifications bikeSpecifications = new BikeSpecifications(TestsConstants.BIKE_BRAND,
                                                                           TestsConstants.BIKE_MODEL, TestsConstants.BIKE_COLOR);
            Bike bike = new Bike(TestsConstants.BIKE_IDENTIFICATION_CODE, bikeSpecifications);

            RentalModality rentalModality = new RentalByHour(new Money(TestsConstants.RENTAL_BY_HOUR_AMOUNT,
                                                                       TestsConstants.RENTAL_BY_HOUR_TYPE_OF_CURRENCY));

            this.Rental = new Rental(this.MockClient.Object, rentalBeginning, bike, rentalModality);
        }
Пример #3
0
        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);
        }