public SlipLease(ISlip slip, ILeaseDuration duration, DateTime startDate, DateTime expiryDate) { _slip = slip; _duration = duration; _startDate = startDate; _expiryDate = expiryDate; }
public ISlipLease LeaseTo(ICustomer customer, ILeaseDuration duration) { if (!IsLeased( )) { _isLeased = true; return(new SlipLease(this, duration)); } throw new SlipIsAlreadyLeasedException( ); }
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); }
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); }
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); }
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); }
public void Should_be_able_to_lease_a_slip() { ICustomer customer = CreateSUT( ); ISlip slip = ObjectMother.Slip( ); ILeaseDuration duration = LeaseDurations.Monthly; customer.Lease(slip, duration); Assert.AreEqual(1, ListFactory.From(customer.Leases( )).Count); }
public void Lease(ISlip slip, ILeaseDuration duration) { }
public void Lease(ISlip slip, ILeaseDuration duration) { EnsureSlipIsNotLeased(slip); _leases.Add(slip.LeaseTo(this, duration)); }
public SlipLease(ISlip slip, ILeaseDuration duration) : this(slip, duration, DateTime.Now.Date, duration.CalculateExpiryDateFrom(DateTime.Now.Date)) { }