Exemplo n.º 1
0
        public void PassingDatesCoincidedWhithExistedReservation_GetAllAvailableCars_ShouldNotReturnCar()
        {
            Administrator admin = new Administrator();

            admin.CreateAddCarQuery(2, "Volvo", "black");
            Client         client        = new Client("client");
            ReservationsDB reservationDB = new ReservationsDB();

            reservationDB.AddReservation("some client", 2,
                                         new DateTime(2017, 10, 8), new DateTime(2017, 11, 1));
            List <Car> result = client.CreateFindCarsQuery(new DateTime(2017, 10, 7),
                                                           new DateTime(2017, 11, 3)).ToList();

            Assert.IsTrue(result.Count == 0);
        }
Exemplo n.º 2
0
        public void AfterAddingTenReservations_CheckUpControl_ShouldAddExtraReservationForSevenDays()
        {
            Administrator admin = new Administrator();

            admin.CreateAddCarQuery(1, "Renault", "Red");

            Client client1  = new Client("Client1");
            Client client2  = new Client("Client2");
            Client client3  = new Client("Client3");
            Client client4  = new Client("Client4");
            Client client5  = new Client("Client5");
            Client client6  = new Client("Client6");
            Client client7  = new Client("Client7");
            Client client8  = new Client("Client8");
            Client client9  = new Client("Client9");
            Client client10 = new Client("Client10");

            client1.CreateFindCarsQuery(new DateTime(2017, 9, 6), new DateTime(2017, 10, 7));
            client1.CreateReserveCarQuery(1);
            client2.CreateFindCarsQuery(new DateTime(2017, 10, 8), new DateTime(2017, 10, 9));
            client2.CreateReserveCarQuery(1);
            client3.CreateFindCarsQuery(new DateTime(2017, 11, 1), new DateTime(2017, 11, 5));
            client3.CreateReserveCarQuery(1);
            client4.CreateFindCarsQuery(new DateTime(2018, 3, 6), new DateTime(2018, 3, 7));
            client4.CreateReserveCarQuery(1);
            client5.CreateFindCarsQuery(new DateTime(2017, 12, 1), new DateTime(2017, 12, 7));
            client5.CreateReserveCarQuery(1);
            client6.CreateFindCarsQuery(new DateTime(2017, 12, 8), new DateTime(2017, 12, 9));
            client6.CreateReserveCarQuery(1);
            client7.CreateFindCarsQuery(new DateTime(2018, 9, 6), new DateTime(2018, 10, 7));
            client7.CreateReserveCarQuery(1);
            client8.CreateFindCarsQuery(new DateTime(2017, 11, 6), new DateTime(2017, 11, 7));
            client8.CreateReserveCarQuery(1);
            client9.CreateFindCarsQuery(new DateTime(2019, 1, 6), new DateTime(2019, 1, 7));
            client9.CreateReserveCarQuery(1);


            client10.CreateFindCarsQuery(new DateTime(2017, 12, 30), new DateTime(2018, 1, 1));
            client10.CreateReserveCarQuery(1);
            ReservationsDB reservationDB = new ReservationsDB();
            var            result        = reservationDB.LastReservationEnds(1);
            DateTime       expected      = new DateTime(2019, 1, 15);

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 3
0
        public void ReservationExpirationControl_ShouldDeleteAllExpiredReservations()
        {
            Administrator admin = new Administrator();

            admin.CreateAddCarQuery(1, "Renault", "Red");

            Client client1 = new Client("Client1");
            Client client2 = new Client("Client2");

            client1.CreateFindCarsQuery(DateTime.Now.AddDays(-1), DateTime.Now);
            client1.CreateReserveCarQuery(1);
            client2.CreateFindCarsQuery(new DateTime(2017, 10, 8), new DateTime(2017, 10, 9));
            client2.CreateReserveCarQuery(1);

            ReservationsDB reservationsDB = new ReservationsDB();

            Assert.IsFalse(reservationsDB.DoesClientHaveReservation("client1"));
        }
Exemplo n.º 4
0
        public void CreateFindCarsQuery_ShouldReturnOnlyListOfAvailableCars()
        {
            Administrator admin = new Administrator();

            admin.CreateAddCarQuery(1, "Renault", "Red");
            admin.CreateAddCarQuery(2, "Volvo", "black");
            Client         client        = new Client("Jonny Stroke");
            ReservationsDB reservationDB = new ReservationsDB();

            reservationDB.AddReservation("some client", 2,
                                         new DateTime(2017, 12, 1), new DateTime(2017, 12, 7));
            reservationDB.AddReservation("another client", 1,
                                         new DateTime(2017, 11, 7), new DateTime(2017, 12, 5));

            List <Car> result = client.CreateFindCarsQuery(new DateTime(2017, 12, 7),
                                                           new DateTime(2017, 12, 13)).ToList();
            List <Car> expected = new List <Car> {
                admin.CreateGetAllCarsQuery().
                ToList().Find(car => car.ID == 1)
            };

            CollectionAssert.AreEqual(expected, result);
        }