Beispiel #1
0
        public void Should_return_daily_lease_duration()
        {
            DateTime yesterday = DateTime.Now.AddDays(-1);
            DateTime today     = DateTime.Now;

            ILeaseDuration duration = LeaseDurations.FindFor(yesterday, today);

            Assert.AreEqual(LeaseDurations.Daily, duration);
        }
Beispiel #2
0
        public void Should_return_yearly_lease_duration()
        {
            DateTime aYearAgo = DateTime.Now.AddDays(-365);
            DateTime today    = DateTime.Now;

            ILeaseDuration duration = LeaseDurations.FindFor(aYearAgo, today);

            Assert.AreEqual(LeaseDurations.Yearly, duration);
        }
Beispiel #3
0
        public void Should_return_monthly_lease_duration()
        {
            DateTime aMonthAgo = DateTime.Now.AddDays(-30);
            DateTime today     = DateTime.Now;

            ILeaseDuration duration = LeaseDurations.FindFor(aMonthAgo, today);

            Assert.AreEqual(LeaseDurations.Monthly, duration);
        }
Beispiel #4
0
        public void Should_return_weekly_lease_duration()
        {
            DateTime aWeekAgo = DateTime.Now.AddDays(-7).Date;
            DateTime today    = DateTime.Now.Date;

            ILeaseDuration duration = LeaseDurations.FindFor(aWeekAgo, today);

            Assert.AreEqual(LeaseDurations.Weekly, duration);
        }
Beispiel #5
0
 public IEnumerable <ISlipLease> AllLeasesFor(long customerId)
 {
     foreach (IDatabaseRow row in _gateway.FindAllRowsMatching(Queries.SelectLeasesFor(customerId)))
     {
         yield return
             (new SlipLease(
                  _slipMapper.FindBy(row.From <long>(LeaseTable.SlipID)),
                  LeaseDurations.FindFor(row.From <DateTime>(LeaseTable.StartDate), row.From <DateTime>(LeaseTable.EndDate)),
                  row.From <DateTime>(LeaseTable.StartDate),
                  row.From <DateTime>(LeaseTable.EndDate)
                  ));
     }
 }
Beispiel #6
0
        public DisplayResponseLineDTO RequestLeaseUsing(SubmitLeaseRequestDTO request)
        {
            ICustomer customer = _customers.FindBy(request.CustomerId);

            try {
                customer.Lease(_slips.FindBy(request.SlipId), LeaseDurations.FindBy(request.Duration));
                _customers.Save(customer);
                return(new DisplayResponseLineDTO("Success!"));
            }
            catch (SlipIsAlreadyLeasedException) {
                return(new DisplayResponseLineDTO("Slip is already leased!"));
            }
        }
Beispiel #7
0
        public void customer_should_attempt_to_lease_slip()
        {
            long customerId = 87;
            long slipId     = 32;

            string duration = "weekly";
            SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(customerId, slipId, duration);
            ISlip     slip     = _mockery.DynamicMock <ISlip>( );
            ICustomer customer = _mockery.DynamicMock <ICustomer>( );

            using (_mockery.Record( )) {
                SetupResult.For(_customers.FindBy(customerId)).Return(customer);
                SetupResult.For(_slips.FindBy(slipId)).Return(slip);

                customer.Lease(slip, LeaseDurations.FindBy(duration));
            }

            using (_mockery.Playback( )) {
                CreateSUT( ).RequestLeaseUsing(request);
            }
        }