예제 #1
0
        public void CarCantBeRentedForOverlapingTermsTest()
        {
            CarRecord carRecord   = new CarRecord("Lada Granta", "cherry", "1234321");
            DateTime  startOfRent = new DateTime(2017, 1, 1);
            DateTime  endOfRent   = new DateTime(2017, 1, 20);;
            // арендуем первый раз
            bool carRentSuccess = carRecord.Rent(startOfRent, endOfRent);

            DateTime[] startRentDates = carRecord.getStartRentDates();
            DateTime[] endRentDates   = carRecord.getEndRentDates();

            // 1. пробуем арендовать второй раз
            carRentSuccess = carRecord.Rent(startOfRent.AddDays(5), endOfRent.AddDays(5));
            Assert.AreEqual(carRentSuccess, false);
            CollectionAssert.AreEqual(carRecord.getStartRentDates(), startRentDates);
            CollectionAssert.AreEqual(carRecord.getEndRentDates(), endRentDates);
            // 2. пробуем арендовать второй раз
            carRentSuccess = carRecord.Rent(startOfRent.AddDays(-5), endOfRent.AddDays(-5));
            Assert.AreEqual(carRentSuccess, false);
            CollectionAssert.AreEqual(carRecord.getStartRentDates(), startRentDates);
            CollectionAssert.AreEqual(carRecord.getEndRentDates(), endRentDates);
            // 3. пробуем арендовать второй раз
            carRentSuccess = carRecord.Rent(startOfRent.AddDays(-5), endOfRent.AddDays(5));
            Assert.AreEqual(carRentSuccess, false);
            CollectionAssert.AreEqual(carRecord.getStartRentDates(), startRentDates);
            CollectionAssert.AreEqual(carRecord.getEndRentDates(), endRentDates);
            // 4. пробуем арендовать второй раз
            carRentSuccess = carRecord.Rent(startOfRent.AddDays(-5), startOfRent);
            Assert.AreEqual(carRentSuccess, false);
            CollectionAssert.AreEqual(carRecord.getStartRentDates(), startRentDates);
            CollectionAssert.AreEqual(carRecord.getEndRentDates(), endRentDates);
        }
예제 #2
0
        public void NewCarIsRentedFoProperTermTest()
        {
            CarRecord carRecord   = new CarRecord("Lada Granta", "cherry", "1234321");
            DateTime  startOfRent = new DateTime(2017, 1, 1);
            DateTime  endOfRent   = startOfRent;
            bool      isCarRented = carRecord.Rent(startOfRent, endOfRent);

            Assert.AreEqual(isCarRented, true);
            Assert.AreEqual(carRecord.getStartRentDates()[0], startOfRent);
            Assert.AreEqual(carRecord.getEndRentDates()[0], endOfRent);
        }
예제 #3
0
        public void CarCanBeRentedSecondTimeForProperTermTest()
        {
            CarRecord carRecord = new CarRecord("Lada Granta", "cherry", "1234321");

            DateTime[] startRentDates = { new DateTime(2017, 1, 1), new DateTime(2017, 1, 21) };
            DateTime[] endRentDates   = { new DateTime(2017, 1, 20), new DateTime(2017, 1, 22) };
            // арендуем первый раз
            bool carRentSuccess = carRecord.Rent(startRentDates[0], endRentDates[0]);

            Assert.AreEqual(carRentSuccess, true);
            // арендуем 2 раз
            carRentSuccess = carRecord.Rent(startRentDates[1], endRentDates[1]);
            Assert.AreEqual(carRentSuccess, true);

            CollectionAssert.AreEqual(carRecord.getStartRentDates(), startRentDates);
            CollectionAssert.AreEqual(carRecord.getEndRentDates(), endRentDates);
        }